From 00e1bc4c5db0fee8897e032a788866932ca14be8 Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Tue, 26 Dec 2017 15:10:00 +0100 Subject: [PATCH] Code cleanup --- src/mime.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/mime.c b/src/mime.c index 75e275c..e5cd72a 100644 --- a/src/mime.c +++ b/src/mime.c @@ -228,9 +228,9 @@ void mime_delete(Mime * mime) MimeHandler * mime_get_handler(Mime * mime, char const * type, char const * action) { - char const * program; - char * p; - char * q; + String const * program; + String * p; + String * q; #ifdef DEBUG fprintf(stderr, "DEBUG: %s(\"%s\", \"%s\")\n", __func__, type, action); @@ -242,17 +242,15 @@ MimeHandler * mime_get_handler(Mime * mime, char const * type, } if((program = config_get(mime->config, type, action)) != NULL) return program; - if((p = strchr(type, '/')) == NULL || *(++p) == '\0' - || (p = strdup(type)) == NULL) - { - error_set_code(1, "%s", strerror(errno)); /* XXX may be wrong */ + if((p = string_find(type, "/")) == NULL || *(++p) == '\0' + || (p = string_new(type)) == NULL) + /* XXX the error may not be reported */ return NULL; - } - q = strchr(p, '/'); + q = string_find(p, "/"); q[1] = '*'; q[2] = '\0'; program = config_get(mime->config, p, action); - free(p); + string_delete(p); return mimehandler_new_load_by_name(program); }