tAdd commands to change name and print current ID - ratox - FIFO based tox client
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit b62173dab72b3e595a00d183da5f9d7508ed4c7f
(DIR) parent 85e55d35e1112501d7d1c339942d57d7df317ce6
(HTM) Author: sin <sin@2f30.org>
Date: Mon, 15 Sep 2014 12:15:41 +0100
Add commands to change name and print current ID
Diffstat:
M ratatox.c | 51 +++++++++++++++++++++++++++----
1 file changed, 45 insertions(+), 6 deletions(-)
---
(DIR) diff --git a/ratatox.c b/ratatox.c
t@@ -85,6 +85,8 @@ static void friendload(void);
static int cmdrun(void);
static int doaccept(char *, size_t);
static int dofriend(char *, size_t);
+static int doid(char *, size_t);
+static int doname(char *, size_t);
static int dohelp(char *, size_t);
static void loop(void);
t@@ -447,7 +449,7 @@ toxinit(void)
tox_callback_friend_request(tox, cb_friend_request, NULL);
tox_callback_name_change(tox, cb_name_change, NULL);
tox_callback_status_message(tox, cb_status_message, NULL);
- tox_set_name(tox, "TLH", strlen("TLH"));
+ tox_set_name(tox, "ratatox", strlen("ratatox"));
tox_set_user_status(tox, TOX_USERSTATUS_NONE);
tox_get_address(tox, address);
t@@ -571,8 +573,10 @@ struct cmd {
int (*cb)(char *, size_t);
const char *usage;
} cmds[] = {
- { .cmd = "a", .cb = doaccept, .usage = "usage: a [ID]\tAccept or list pending requests\n" },
- { .cmd = "f", .cb = dofriend, .usage = "usage: f ID\tSend friend request to ID\n" },
+ { .cmd = "a", .cb = doaccept, .usage = "usage: a [id]\tAccept or list pending requests\n" },
+ { .cmd = "f", .cb = dofriend, .usage = "usage: f id\tSend friend request to ID\n" },
+ { .cmd = "i", .cb = doid, .usage = "usage: i\tShow ID\n" },
+ { .cmd = "n", .cb = doname, .usage = "usage: n [name]\tChange or show current name\n" },
{ .cmd = "h", .cb = dohelp, .usage = NULL },
};
t@@ -581,12 +585,12 @@ doaccept(char *cmd, size_t sz)
{
struct request *req, *tmp;
char *args[2];
- int n;
+ int r;
int found = 0;
- n = tokenize(cmd, args, 2);
+ r = tokenize(cmd, args, 2);
- if (n == 1) {
+ if (r == 1) {
TAILQ_FOREACH(req, &reqhead, entry) {
printf("Pending request from %s with message: %s\n",
req->idstr, req->msgstr);
t@@ -652,6 +656,41 @@ dofriend(char *cmd, size_t sz)
}
static int
+doid(char *cmd, size_t sz)
+{
+ uint8_t address[TOX_FRIEND_ADDRESS_SIZE];
+ int i;
+
+ tox_get_address(tox, address);
+ for (i = 0; i < TOX_FRIEND_ADDRESS_SIZE; i++)
+ printf("%02x", address[i]);
+ printf("\n");
+ return 0;
+}
+
+static int
+doname(char *cmd, size_t sz)
+{
+ char *args[2];
+ char name[TOX_MAX_NAME_LENGTH + 1];
+ uint8_t len;
+ int r;
+
+ r = tokenize(cmd, args, 2);
+
+ if (r == 1) {
+ len = tox_get_self_name(tox, name);
+ name[len] = '\0';
+ printf("%s\n", name);
+ } else {
+ tox_set_name(tox, args[1], strlen(args[1]));
+ datasave();
+ }
+
+ return 0;
+}
+
+static int
dohelp(char *cmd, size_t sz)
{
size_t i;