diff options
author | Dave Davenport <qball@gmpclient.org> | 2017-04-21 09:37:03 +0200 |
---|---|---|
committer | Dave Davenport <qball@gmpclient.org> | 2017-04-21 09:37:03 +0200 |
commit | 01159b29f009977da975ff8c2d648ec0d2881e40 (patch) | |
tree | a9d2f223bd0e7e1ab6267949f623f4c4a61bed3d | |
parent | 5edc7398485c000860068da6456a5b74a3709af4 (diff) |
[Mode] Make the name field a pointer instead of a fixed 32char array.
-rw-r--r-- | include/mode-private.h | 4 | ||||
-rw-r--r-- | source/dialogs/script.c | 5 |
2 files changed, 5 insertions, 4 deletions
diff --git a/include/mode-private.h b/include/mode-private.h index 97a17fa2..b22eccf0 100644 --- a/include/mode-private.h +++ b/include/mode-private.h @@ -31,7 +31,7 @@ #include <gmodule.h> /** ABI version to check if loaded plugin is compatible. */ -#define ABI_VERSION 0x00000004 +#define ABI_VERSION 0x00000005 /** * @param data Pointer to #Mode object. @@ -143,7 +143,7 @@ struct rofi_mode /** Used for external plugins. */ unsigned int abi_version; /** Name (max 31 char long) */ - char name[32]; + char *name; char cfg_name_key[128]; char *display_name; diff --git a/source/dialogs/script.c b/source/dialogs/script.c index b2fd1fd9..566ca8b5 100644 --- a/source/dialogs/script.c +++ b/source/dialogs/script.c @@ -91,6 +91,7 @@ static void script_switcher_free ( Mode *sw ) if ( sw == NULL ) { return; } + g_free ( sw->name ); g_free ( sw->ed ); g_free ( sw ); } @@ -182,7 +183,7 @@ Mode *script_switcher_parse_setup ( const char *str ) const char *const sep = ":"; for ( char *token = strtok_r ( parse, sep, &endp ); token != NULL; token = strtok_r ( NULL, sep, &endp ) ) { if ( index == 0 ) { - g_strlcpy ( sw->name, token, 32 ); + sw->name = g_strdup ( token ); } else if ( index == 1 ) { sw->ed = (void *) rofi_expand_path ( token ); @@ -203,7 +204,7 @@ Mode *script_switcher_parse_setup ( const char *str ) return sw; } - g_warning ( "The script command '%s' has %u options, but needs 2: <name>:<script>.", str, index ); + fprintf ( stderr, "The script command '%s' has %u options, but needs 2: <name>:<script>.", str, index ); script_switcher_free ( sw ); return NULL; } |