5858#define SPACES " \t\n\r"
5959#define streq (a , b ) (strcmp((a), (b)) == 0)
6060
61+ /**
62+ * Function naming convention:
63+ * This controls whether to generate the functions as:
64+ * nvme_foo_get() / nvme_foo_set()
65+ * Or:
66+ * nvme_get_foo() / nvme_set_foo()
67+ */
68+ #define SET_FMT "%s_set_%s" /* alternate name: "%s_%s_set" */
69+ #define GET_FMT "%s_get_%s" /* alternate name: "%s_%s_get" */
70+
6171static const char * banner =
6272 "// SPDX-License-Identifier: LGPL-2.1-or-later\n"
6373 "/**\n"
@@ -207,8 +217,8 @@ static char *to_uppercase(char *s)
207217 * Any character that violates these rules is replaced with an underscore ('_').
208218 * The string is always modified in place; no new memory is allocated.
209219 *
210- * @param s Pointer to the NUL-terminated string to sanitize.
211- * If @p s is NULL or points to an empty string, the function does nothing.
220+ * @param s Pointer to the NUL-terminated string to sanitize. If @s is NULL or
221+ * points to an empty string, the function does nothing.
212222 *
213223 * @note This function does not check for C keywords or identifier length limits.
214224 *
@@ -808,7 +818,7 @@ typedef struct Conf {
808818 bool verbose ;
809819 const char * c_fname ; /* Generated output *.c file name */
810820 const char * h_fname ; /* Generated output *.h file name */
811- const char * l_fname ; /* Generated ou5tput *.ld file name */
821+ const char * l_fname ; /* Generated output *.ld file name */
812822 const char * prefix ; /* Prefix added to each functions */
813823 StringList_t hdr_files ; /* Input header file list */
814824 StringList_t incl_list ; /* Inclusion list (read from --incl) */
@@ -1269,19 +1279,20 @@ static void generate_hdr(FILE *generated_hdr, StructInfo_t *si, Conf_t *conf)
12691279 if (!members -> is_const ) { /* No setter on const members */
12701280 if (members -> is_char_array || streq (members -> type , "const char *" ))
12711281 fprintf (generated_hdr ,
1272- "void %s%s_%s_set (struct %s *p, const char *%s);\n" ,
1273- conf -> prefix , si -> name ,
1274- members -> name , si -> name , members -> name );
1282+ "void %s" SET_FMT " (struct %s *p, const char *%s);\n" ,
1283+ conf -> prefix , si -> name , members -> name ,
1284+ si -> name , members -> name );
12751285 else
12761286 fprintf (generated_hdr ,
1277- "void %s%s_%s_set (struct %s *p, %s %s);\n" ,
1278- conf -> prefix , si -> name ,
1279- members -> name , si -> name , members -> type , members -> name );
1287+ "void %s" SET_FMT " (struct %s *p, %s %s);\n" ,
1288+ conf -> prefix , si -> name , members -> name ,
1289+ si -> name , members -> type , members -> name );
12801290 }
12811291
12821292 /* Getter method */
1283- fprintf (generated_hdr , "%s %s%s_%s_get(const struct %s *p);\n\n" ,
1284- members -> type , conf -> prefix , si -> name , members -> name , si -> name );
1293+ fprintf (generated_hdr , "%s %s" GET_FMT "(const struct %s *p);\n\n" ,
1294+ members -> type , conf -> prefix , si -> name , members -> name ,
1295+ si -> name );
12851296 }
12861297}
12871298
@@ -1309,7 +1320,7 @@ static void generate_src(FILE *generated_src, StructInfo_t *si, Conf_t *conf)
13091320 if (!member -> is_char_array && streq (member -> type , "const char *" )) {
13101321 /* dynamic string */
13111322 fprintf (generated_src ,
1312- "void %s%s_%s_set (struct %s *p, const char *%s) {\n"
1323+ "void %s" SET_FMT " (struct %s *p, const char *%s) {\n"
13131324 " free(p->%s);\n"
13141325 " p->%s = %s ? strdup(%s) : NULL;\n"
13151326 "}\n\n" ,
@@ -1323,7 +1334,7 @@ static void generate_src(FILE *generated_src, StructInfo_t *si, Conf_t *conf)
13231334 unsigned long sz = strtoul (member -> array_size , NULL , 10 );
13241335
13251336 fprintf (generated_src ,
1326- "void %s%s_%s_set (struct %s *p, const char *%s) {\n"
1337+ "void %s" SET_FMT " (struct %s *p, const char *%s) {\n"
13271338 " strncpy(p->%s, %s, %lu);\n"
13281339 " p->%s[%lu] = '\\0';\n"
13291340 "}\n\n" ,
@@ -1333,7 +1344,7 @@ static void generate_src(FILE *generated_src, StructInfo_t *si, Conf_t *conf)
13331344 member -> name , sz - 1 );
13341345 } else {
13351346 fprintf (generated_src ,
1336- "void %s%s_%s_set (struct %s *p, const char *%s) {\n"
1347+ "void %s" SET_FMT " (struct %s *p, const char *%s) {\n"
13371348 " strncpy(p->%s, %s, %s);\n"
13381349 " p->%s[%s - 1] = '\\0';\n"
13391350 "}\n\n" ,
@@ -1344,22 +1355,22 @@ static void generate_src(FILE *generated_src, StructInfo_t *si, Conf_t *conf)
13441355 }
13451356 } else { /* numeric or struct */
13461357 fprintf (generated_src ,
1347- "void %s%s_%s_set (struct %s *p, %s %s) {\n"
1358+ "void %s" SET_FMT " (struct %s *p, %s %s) {\n"
13481359 " p->%s = %s;\n"
13491360 "}\n\n" ,
1350- conf -> prefix , si -> name , member -> name , si -> name ,
1351- member -> type , member -> name ,
1361+ conf -> prefix , si -> name , member -> name ,
1362+ si -> name , member -> type , member -> name ,
13521363 member -> name , member -> name );
13531364
13541365 }
13551366 }
13561367
13571368 /* Getter method */
1358- fprintf (generated_src , "%s %s%s_%s_get (const struct %s *p) {\n"
1369+ fprintf (generated_src , "%s %s" GET_FMT " (const struct %s *p) {\n"
13591370 " return p->%s;\n"
13601371 "}\n\n" ,
1361- member -> type , conf -> prefix , si -> name , member -> name , si -> name ,
1362- member -> name );
1372+ member -> type , conf -> prefix , si -> name , member -> name ,
1373+ si -> name , member -> name );
13631374 }
13641375}
13651376
@@ -1368,7 +1379,7 @@ static void generate_src(FILE *generated_src, StructInfo_t *si, Conf_t *conf)
13681379 * one struct.
13691380 *
13701381 * Writes linker entries for each member in @si to the provided output
1371- * FILE (@generated_ld). Handles special
1382+ * FILE (@generated_ld).
13721383 *
13731384 * @param generated_ld: FILE* to write implementations to.
13741385 * @param si: Pointer to the struct description.
@@ -1380,8 +1391,8 @@ static void generate_ld(FILE *generated_ld, StructInfo_t *si, Conf_t *conf)
13801391 Member_t * member = & si -> members [m ];
13811392
13821393 fprintf (generated_ld ,
1383- "\t\t%s%s_%s_get ;\n"
1384- "\t\t%s%s_%s_set ;\n" ,
1394+ "\t\t%s" GET_FMT " ;\n"
1395+ "\t\t%s" SET_FMT " ;\n" ,
13851396 conf -> prefix , si -> name , member -> name ,
13861397 conf -> prefix , si -> name , member -> name );
13871398 }
0 commit comments