diff options
Diffstat (limited to 'src/xine-engine')
-rw-r--r-- | src/xine-engine/configfile.c | 3 | ||||
-rw-r--r-- | src/xine-engine/load_plugins.c | 14 | ||||
-rw-r--r-- | src/xine-engine/osd.c | 5 | ||||
-rw-r--r-- | src/xine-engine/xine.c | 3 |
4 files changed, 8 insertions, 17 deletions
diff --git a/src/xine-engine/configfile.c b/src/xine-engine/configfile.c index ed3d2fcfb..ad23f3b30 100644 --- a/src/xine-engine/configfile.c +++ b/src/xine-engine/configfile.c @@ -369,8 +369,7 @@ static const char *config_translate_key (const char *key) { */ if (!strncmp (key, "decoder.", 8) && !strcmp (key + (trans = strlen (key)) - 9, "_priority")) { - newkey = realloc (newkey, trans + 27 - 17); /* diff. in string lengths */ - sprintf (newkey, "engine.decoder_priorities.%.*s", trans - 17, key + 8); + asprintf (&newkey, "engine.decoder_priorities.%.*s", trans - 17, key + 8); return newkey; } diff --git a/src/xine-engine/load_plugins.c b/src/xine-engine/load_plugins.c index fce31baca..9815b26c1 100644 --- a/src/xine-engine/load_plugins.c +++ b/src/xine-engine/load_plugins.c @@ -1072,15 +1072,13 @@ static void save_catalog (xine_t *this) { char *cachefile, *dirfile; const char *relname = CACHE_CATALOG_FILE; const char *dirname = CACHE_CATALOG_DIR; + + const char *const homedir = xine_get_homedir(); - cachefile = (char *) malloc(strlen(xine_get_homedir()) + - strlen(relname) + 2); - sprintf(cachefile, "%s/%s", xine_get_homedir(), relname); + asprintf(&cachefile, "%s/%s", homedir, relname); /* make sure homedir (~/.xine) exists */ - dirfile = (char *) malloc(strlen(xine_get_homedir()) + - strlen(dirname) + 2); - sprintf(dirfile, "%s/%s", xine_get_homedir(), dirname); + asprintf(&dirfile, "%s/%s", homedir, dirname); mkdir (dirfile, 0755); free (dirfile); @@ -1107,9 +1105,7 @@ static void load_cached_catalog (xine_t *this) { char *cachefile; const char *relname = CACHE_CATALOG_FILE; - cachefile = (char *) malloc(strlen(xine_get_homedir()) + - strlen(relname) + 2); - sprintf(cachefile, "%s/%s", xine_get_homedir(), relname); + asprintf(&cachefile, "%s/%s", xine_get_homedir(), relname); if( (fp = fopen(cachefile,"r")) != NULL ) { load_plugin_list (fp, this->plugin_catalog->cache_list); diff --git a/src/xine-engine/osd.c b/src/xine-engine/osd.c index 5de0de2cb..ac3c2bb92 100644 --- a/src/xine-engine/osd.c +++ b/src/xine-engine/osd.c @@ -1410,7 +1410,6 @@ static void osd_preload_fonts (osd_renderer_t *this, char *path) { if( p ) { osd_font_t *font; - char *pathname; *p++ = '\0'; font = calloc(1, sizeof(osd_font_t) ); @@ -1421,9 +1420,7 @@ static void osd_preload_fonts (osd_renderer_t *this, char *path) { lprintf("font '%s' size %d is preloaded\n", font->name, font->size); - pathname = malloc(strlen(path) + strlen(entry->d_name) + 2); - sprintf (pathname, "%s/%s", path, entry->d_name); - font->filename = pathname; + asprintf (&font->filename, "%s/%s", path, entry->d_name); font->next = this->fonts; this->fonts = font; diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c index c22391642..92f7a2603 100644 --- a/src/xine-engine/xine.c +++ b/src/xine-engine/xine.c @@ -1634,8 +1634,7 @@ static void config_save_cb (void *this_gen, xine_cfg_entry_t *entry) { xine_t *this = (xine_t *)this_gen; char *homedir_trail_slash; - homedir_trail_slash = (char *)malloc(strlen(xine_get_homedir()) + 2); - sprintf(homedir_trail_slash, "%s/", xine_get_homedir()); + asprintf(&homedir_trail_slash, "%s/", xine_get_homedir()); if (entry->str_value[0] && (entry->str_value[0] != '/' || strstr(entry->str_value, "/.") || strcmp(entry->str_value, xine_get_homedir()) == 0 || |