]> granicus.if.org Git - esp-idf/blobdiff - components/console/commands.c
console: Suppress unused warning asprintf result
[esp-idf] / components / console / commands.c
index c52c7061da825cb58dba8c67ce3bf81304305d95..7d7232869bf08b0b81306e81ada89dde247e255b 100644 (file)
@@ -28,18 +28,18 @@ typedef struct cmd_item_ {
     /**
      * Command name (statically allocated by application)
      */
-    const charcommand;
+    const char *command;
     /**
      * Help text (statically allocated by application), may be NULL.
      */
-    const charhelp;
+    const char *help;
     /**
      * Hint text, usually lists possible arguments, dynamically allocated.
      * May be NULL.
      */
-    charhint;
+    char *hint;
     esp_console_cmd_func_t func;    //!< pointer to the command handler
-    voidargtable;                 //!< optional pointer to arg table
+    void *argtable;                 //!< optional pointer to arg table
     SLIST_ENTRY(cmd_item_) next;    //!< next command in the list
 } cmd_item_t;
 
@@ -50,11 +50,11 @@ static SLIST_HEAD(cmd_list_, cmd_item_) s_cmd_list;
 static esp_console_config_t s_config;
 
 /** temporary buffer used for command line parsing */
-static chars_tmp_line_buf;
+static char *s_tmp_line_buf;
 
-static const cmd_item_t* find_command_by_name(const char* name);
+static const cmd_item_t *find_command_by_name(const char *name);
 
-esp_err_t esp_console_init(const esp_console_config_tconfig)
+esp_err_t esp_console_init(const esp_console_config_t *config)
 {
     if (s_tmp_line_buf) {
         return ESP_ERR_INVALID_STATE;
@@ -91,9 +91,11 @@ esp_err_t esp_console_cmd_register(const esp_console_cmd_t *cmd)
         return ESP_ERR_NO_MEM;
     }
     if (cmd->command == NULL) {
+        free(item);
         return ESP_ERR_INVALID_ARG;
     }
     if (strchr(cmd->command, ' ') != NULL) {
+        free(item);
         return ESP_ERR_INVALID_ARG;
     }
     item->command = cmd->command;
@@ -102,12 +104,13 @@ esp_err_t esp_console_cmd_register(const esp_console_cmd_t *cmd)
         /* Prepend a space before the hint. It separates command name and
          * the hint. arg_print_syntax below adds this space as well.
          */
-        asprintf(&item->hint, " %s", cmd->hint);
+        int unused __attribute__((unused));
+        unused = asprintf(&item->hint, " %s", cmd->hint);
     } else if (cmd->argtable) {
         /* Generate hint based on cmd->argtable */
-        charbuf = NULL;
+        char *buf = NULL;
         size_t buf_size = 0;
-        FILEf = open_memstream(&buf, &buf_size);
+        FILE *f = open_memstream(&buf, &buf_size);
         if (f != NULL) {
             arg_print_syntax(f, cmd->argtable, NULL);
             fclose(f);
@@ -116,11 +119,11 @@ esp_err_t esp_console_cmd_register(const esp_console_cmd_t *cmd)
     }
     item->argtable = cmd->argtable;
     item->func = cmd->func;
-    cmd_item_tlast = SLIST_FIRST(&s_cmd_list);
+    cmd_item_t *last = SLIST_FIRST(&s_cmd_list);
     if (last == NULL) {
         SLIST_INSERT_HEAD(&s_cmd_list, item, next);
     } else {
-        cmd_item_tit;
+        cmd_item_t *it;
         while ((it = SLIST_NEXT(last, next)) != NULL) {
             last = it;
         }
@@ -135,7 +138,7 @@ void esp_console_get_completion(const char *buf, linenoiseCompletions *lc)
     if (len == 0) {
         return;
     }
-    cmd_item_tit;
+    cmd_item_t *it;
     SLIST_FOREACH(it, &s_cmd_list, next) {
         /* Check if command starts with buf */
         if (strncmp(buf, it->command, len) == 0) {
@@ -144,10 +147,10 @@ void esp_console_get_completion(const char *buf, linenoiseCompletions *lc)
     }
 }
 
-const charesp_console_get_hint(const char *buf, int *color, int *bold)
+const char *esp_console_get_hint(const char *buf, int *color, int *bold)
 {
     int len = strlen(buf);
-    cmd_item_tit;
+    cmd_item_t *it;
     SLIST_FOREACH(it, &s_cmd_list, next) {
         if (strlen(it->command) == len &&
                 strncmp(buf, it->command, len) == 0) {
@@ -159,10 +162,10 @@ const char* esp_console_get_hint(const char *buf, int *color, int *bold)
     return NULL;
 }
 
-static const cmd_item_t* find_command_by_name(const char* name)
+static const cmd_item_t *find_command_by_name(const char *name)
 {
-    const cmd_item_tcmd = NULL;
-    cmd_item_tit;
+    const cmd_item_t *cmd = NULL;
+    cmd_item_t *it;
     SLIST_FOREACH(it, &s_cmd_list, next) {
         if (strcmp(name, it->command) == 0) {
             cmd = it;
@@ -172,24 +175,26 @@ static const cmd_item_t* find_command_by_name(const char* name)
     return cmd;
 }
 
-esp_err_t esp_console_run(const char* cmdline, int* cmd_ret)
+esp_err_t esp_console_run(const char *cmdline, int *cmd_ret)
 {
     if (s_tmp_line_buf == NULL) {
         return ESP_ERR_INVALID_STATE;
     }
-    char** argv = (char**) calloc(s_config.max_cmdline_args, sizeof(char*));
+    char **argv = (char **) calloc(s_config.max_cmdline_args, sizeof(char *));
     if (argv == NULL) {
         return ESP_ERR_NO_MEM;
     }
     strlcpy(s_tmp_line_buf, cmdline, s_config.max_cmdline_length);
 
     size_t argc = esp_console_split_argv(s_tmp_line_buf, argv,
-            s_config.max_cmdline_args);
+                                         s_config.max_cmdline_args);
     if (argc == 0) {
+        free(argv);
         return ESP_ERR_INVALID_ARG;
     }
-    const cmd_item_tcmd = find_command_by_name(argv[0]);
+    const cmd_item_t *cmd = find_command_by_name(argv[0]);
     if (cmd == NULL) {
+        free(argv);
         return ESP_ERR_NOT_FOUND;
     }
     *cmd_ret = (*cmd->func)(argc, argv);
@@ -197,9 +202,9 @@ esp_err_t esp_console_run(const char* cmdline, int* cmd_ret)
     return ESP_OK;
 }
 
-static int help_command(int argc, char** argv)
+static int help_command(int argc, char **argv)
 {
-    cmd_item_tit;
+    cmd_item_t *it;
 
     /* Print summary of each command */
     SLIST_FOREACH(it, &s_cmd_list, next) {
@@ -209,7 +214,7 @@ static int help_command(int argc, char** argv)
         /* First line: command name and hint
          * Pad all the hints to the same column
          */
-        const charhint = (it->hint) ? it->hint : "";
+        const char *hint = (it->hint) ? it->hint : "";
         printf("%-s %s\n", it->command, hint);
         /* Second line: print help.
          * Argtable has a nice helper function for this which does line
@@ -219,7 +224,7 @@ static int help_command(int argc, char** argv)
         arg_print_formatted(stdout, 2, 78, it->help);
         /* Finally, print the list of arguments */
         if (it->argtable) {
-            arg_print_glossary(stdout, (void**) it->argtable, "  %12s  %s\n");
+            arg_print_glossary(stdout, (void **) it->argtable, "  %12s  %s\n");
         }
         printf("\n");
     }
@@ -230,9 +235,9 @@ static int help_command(int argc, char** argv)
 esp_err_t esp_console_register_help_command()
 {
     esp_console_cmd_t command = {
-            .command = "help",
-            .help = "Print the list of registered commands",
-            .func = &help_command
+        .command = "help",
+        .help = "Print the list of registered commands",
+        .func = &help_command
     };
     return esp_console_cmd_register(&command);
 }