50 if (!filename || !strlen(filename))
54 char *localFilename = strdup(filename);
58 char *sddsTags = NULL;
60 if ((sddsTags = strchr(localFilename,
'='))) {
66 if (search_path && strlen(search_path)) {
68 cp_str(&pathList, search_path);
71 size_t needed = strlen(localFilename) + strlen(path) + 2 +
72 (sddsTags ? strlen(sddsTags) + 2 : 0);
73 char *tmpName = malloc(needed);
74 sprintf(tmpName,
"%s/%s", path, localFilename);
79 strcat(tmpName, sddsTags);
92 result = strdup(filename);