{
char *filename = NULL;
char *title = NULL;
- char *ext = NULL;
- int filename_len = -1;
- int new_title_len = -1;
+ char *last_dot = NULL;
- if (!path) {
- media_svc_error("path is NULL");
- return NULL;
- }
+ media_svc_retvm_if(!STRING_VALID(path), NULL, "Invalid path");
filename = g_path_get_basename(path);
- if (!STRING_VALID(filename)) {
- media_svc_error("wrong file name");
- g_free(filename);
- return NULL;
- }
- filename_len = strlen(filename);
-
- ext = g_strrstr(filename, ".");
- if (!ext) {
- media_svc_error("there is no file extention");
- return filename;
- }
-
- new_title_len = filename_len - strlen(ext);
- if (new_title_len < 1) {
- media_svc_error("title length is zero");
+ last_dot = strrchr(filename, '.');
+ if (last_dot) {
+ title = g_strndup(filename, last_dot - filename);
g_free(filename);
- return NULL;
+ } else {
+ title = filename;
}
- title = g_strndup(filename, new_title_len < MEDIA_SVC_PATHNAME_SIZE ? new_title_len : MEDIA_SVC_PATHNAME_SIZE - 1);
-
- g_free(filename);
-
media_svc_debug("extract title is [%s]", title);
return title;