}
/**
- * Return settings block name (for debug only)
+ * Return settings block name
*
* @v settings Settings block
* @ret name Settings block name
*/
-static const char * settings_name ( struct settings *settings ) {
- static char buf[64];
+const char * settings_name ( struct settings *settings ) {
+ static char buf[16];
char tmp[ sizeof ( buf ) ];
- int count;
- for ( count = 0 ; settings ; settings = settings->parent ) {
+ for ( buf[2] = buf[0] = 0 ; settings ; settings = settings->parent ) {
memcpy ( tmp, buf, sizeof ( tmp ) );
- snprintf ( buf, sizeof ( buf ), "%s%c%s", settings->name,
- ( count++ ? '.' : '\0' ), tmp );
+ snprintf ( buf, sizeof ( buf ), ".%s%s", settings->name, tmp );
}
- return ( buf + 1 );
+ return ( buf + 2 );
}
/**
extern void clear_settings ( struct settings *settings );
extern int setting_cmp ( struct setting *a, struct setting *b );
+extern const char * settings_name ( struct settings *settings );
extern struct settings * find_settings ( const char *name );
extern struct setting * find_setting ( const char *name );