Replace strings, functions, configs strings placed
everywhere in code with macro defintions STRINGS_DIR,
FUNCTIONS_DIR and CONFIGS_DIR.

Signed-off-by: Krzysztof Opasiak <k.opas...@samsung.com>
---
 src/gadget.c |   37 +++++++++++++++++++++++--------------
 1 file changed, 23 insertions(+), 14 deletions(-)

diff --git a/src/gadget.c b/src/gadget.c
index 3754a9c..9df6905 100644
--- a/src/gadget.c
+++ b/src/gadget.c
@@ -26,6 +26,10 @@
 #include <sys/stat.h>
 #include <unistd.h>
 
+#define STRINGS_DIR "strings"
+#define CONFIGS_DIR "configs"
+#define FUNCTIONS_DIR "functions"
+
 /**
  * @file gadget.c
  * @todo Handle buffer overflows
@@ -218,7 +222,7 @@ static int gadget_parse_functions(char *path, struct gadget 
*g)
        struct dirent **dent;
        char fpath[MAX_PATH_LENGTH];
 
-       sprintf(fpath, "%s/%s/functions", path, g->name);
+       sprintf(fpath, "%s/%s/%s", path, g->name, FUNCTIONS_DIR);
 
        TAILQ_INIT(&g->functions);
 
@@ -292,7 +296,7 @@ static int gadget_parse_configs(char *path, struct gadget 
*g)
        struct dirent **dent;
        char cpath[MAX_PATH_LENGTH];
 
-       sprintf(cpath, "%s/%s/configs", path, g->name);
+       sprintf(cpath, "%s/%s/%s", path, g->name, CONFIGS_DIR);
 
        TAILQ_INIT(&g->configs);
 
@@ -328,9 +332,14 @@ static void gadget_parse_attrs(char *path, struct gadget 
*g)
 static void gadget_parse_strings(char *path, struct gadget *g)
 {
        /* Strings - hardcoded to U.S. English only for now */
-       gadget_read_string(path, g->name, "strings/0x409/serialnumber", 
g->str_ser);
-       gadget_read_string(path, g->name, "strings/0x409/manufacturer", 
g->str_mnf);
-       gadget_read_string(path, g->name, "strings/0x409/product", g->str_prd);
+       int lang = LANG_US_ENG;
+       char spath[MAX_PATH_LENGTH];
+
+       sprintf(spath, "%s/%s/%s/0x%x", path, g->name, STRINGS_DIR, lang);
+
+       gadget_read_string(spath, "", "serialnumber", g->str_ser);
+       gadget_read_string(spath, "", "manufacturer", g->str_mnf);
+       gadget_read_string(spath, "", "product", g->str_prd);
 }
 
 static int gadget_parse_gadgets(char *path, struct state *s)
@@ -591,7 +600,7 @@ void gadget_set_gadget_serial_number(struct gadget *g, int 
lang, char *serno)
 {
        char path[MAX_PATH_LENGTH];
 
-       sprintf(path, "%s/%s/%s/0x%x", g->path, g->name, "strings", lang);
+       sprintf(path, "%s/%s/%s/0x%x", g->path, g->name, STRINGS_DIR, lang);
 
        mkdir(path, S_IRWXU|S_IRWXG|S_IRWXO);
 
@@ -604,7 +613,7 @@ void gadget_set_gadget_manufacturer(struct gadget *g, int 
lang, char *mnf)
 {
        char path[MAX_PATH_LENGTH];
 
-       sprintf(path, "%s/%s/%s/0x%x", g->path, g->name, "strings", lang);
+       sprintf(path, "%s/%s/%s/0x%x", g->path, g->name, STRINGS_DIR, lang);
 
        mkdir(path, S_IRWXU|S_IRWXG|S_IRWXO);
 
@@ -617,7 +626,7 @@ void gadget_set_gadget_product(struct gadget *g, int lang, 
char *prd)
 {
        char path[MAX_PATH_LENGTH];
 
-       sprintf(path, "%s/%s/%s/0x%x", g->path, g->name, "strings", lang);
+       sprintf(path, "%s/%s/%s/0x%x", g->path, g->name, STRINGS_DIR, lang);
 
        mkdir(path, S_IRWXU|S_IRWXG|S_IRWXO);
 
@@ -646,7 +655,7 @@ struct function *gadget_create_function(struct gadget *g, 
enum function_type typ
                return NULL;
        }
 
-       sprintf(fpath, "%s/%s/functions/%s", g->path, g->name, name);
+       sprintf(fpath, "%s/%s/%s/%s", g->path, g->name, FUNCTIONS_DIR, name);
 
        f = malloc(sizeof(struct function));
        if (!f) {
@@ -655,7 +664,7 @@ struct function *gadget_create_function(struct gadget *g, 
enum function_type typ
        }
 
        strcpy(f->name, name);
-       sprintf(f->path, "%s/%s/%s", g->path, g->name, "functions");
+       sprintf(f->path, "%s/%s/%s", g->path, g->name, FUNCTIONS_DIR);
        f->type = type;
 
        ret = mkdir(fpath, S_IRWXU|S_IRWXG|S_IRWXO);
@@ -701,7 +710,7 @@ struct config *gadget_create_config(struct gadget *g, char 
*name)
                return NULL;
        }
 
-       sprintf(cpath, "%s/%s/configs/%s", g->path, g->name, name);
+       sprintf(cpath, "%s/%s/%s/%s", g->path, g->name, CONFIGS_DIR, name);
 
        c = malloc(sizeof(struct config));
        if (!c) {
@@ -711,7 +720,7 @@ struct config *gadget_create_config(struct gadget *g, char 
*name)
 
        TAILQ_INIT(&c->bindings);
        strcpy(c->name, name);
-       sprintf(c->path, "%s/%s/%s/%s", g->path, g->name, "configs", name);
+       sprintf(c->path, "%s/%s/%s", g->path, g->name, CONFIGS_DIR);
 
        ret = mkdir(cpath, S_IRWXU|S_IRWXG|S_IRWXO);
        if (ret < 0) {
@@ -754,7 +763,7 @@ void gadget_set_config_string(struct config *c, int lang, 
char *str)
 {
        char path[MAX_PATH_LENGTH];
 
-       sprintf(path, "%s/%s/0x%x", c->path, "strings", lang);
+       sprintf(path, "%s/%s/%s/0x%x", c->path, c->name, STRINGS_DIR, lang);
 
        mkdir(path, S_IRWXU|S_IRWXG|S_IRWXO);
 
@@ -786,7 +795,7 @@ int gadget_add_config_function(struct config *c, char 
*name, struct function *f)
                return ret;
        }
 
-       sprintf(bpath, "%s/%s", c->path, name);
+       sprintf(bpath, "%s/%s/%s", c->path, c->name, name);
        sprintf(fpath, "%s/%s", f->path, f->name);
 
        b = malloc(sizeof(struct binding));
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to