diff options
Diffstat (limited to 'src/core/settings.c')
-rw-r--r-- | src/core/settings.c | 54 |
1 files changed, 5 insertions, 49 deletions
diff --git a/src/core/settings.c b/src/core/settings.c index 1f7425482..5e16b27d0 100644 --- a/src/core/settings.c +++ b/src/core/settings.c @@ -1658,59 +1658,15 @@ const struct setting_type setting_type_string __setting_type = { .format = format_string_setting, }; -/** - * Parse URI-encoded string setting value +/** A URI-encoded string setting type * - * @v type Setting type - * @v value Formatted setting value - * @v buf Buffer to contain raw value - * @v len Length of buffer - * @ret len Length of raw value, or negative error + * This setting type is obsolete; the name ":uristring" is retained to + * avoid breaking existing scripts. */ -static int parse_uristring_setting ( const struct setting_type *type __unused, - const char *value, void *buf, size_t len ){ - char tmp[ len + 1 /* NUL */ ]; - size_t raw_len; - - /* Decode to temporary buffer (including NUL) */ - raw_len = uri_decode ( value, tmp, sizeof ( tmp ) ); - - /* Copy to output buffer (excluding NUL) */ - if ( len > raw_len ) - len = raw_len; - memcpy ( buf, tmp, len ); - - return raw_len; -} - -/** - * Format URI-encoded string setting value - * - * @v type Setting type - * @v raw Raw setting value - * @v raw_len Length of raw setting value - * @v buf Buffer to contain formatted value - * @v len Length of buffer - * @ret len Length of formatted value, or negative error - */ -static int format_uristring_setting ( const struct setting_type *type __unused, - const void *raw, size_t raw_len, - char *buf, size_t len ) { - char tmp[ raw_len + 1 /* NUL */ ]; - - /* Copy to temporary buffer and terminate */ - memcpy ( tmp, raw, raw_len ); - tmp[raw_len] = '\0'; - - /* Encode directly into output buffer */ - return uri_encode ( tmp, buf, len, URI_FRAGMENT ); -} - -/** A URI-encoded string setting type */ const struct setting_type setting_type_uristring __setting_type = { .name = "uristring", - .parse = parse_uristring_setting, - .format = format_uristring_setting, + .parse = parse_string_setting, + .format = format_string_setting, }; /** |