/* Priority 3 */
if (url) {
DA_LOGD("Get file name from url");
- da_get_file_name_from_url(url, out_pure_file_name);
+ da_get_file_name_from_url(url, out_pure_file_name, out_extension);
}
if (*out_pure_file_name)
return ret ;
}
/* FIXME move this function to another file */
-da_bool_t da_get_file_name_from_url(char *url, char **name)
+da_bool_t da_get_file_name_from_url(char *url, char **name, char **extension)
{
da_bool_t ret = DA_TRUE;
char *buff = DA_NULL;
int i = 0;
int j = 0;
int len_name = 0;
+ int len_ext = 0;
char name_buff[DA_MAX_FILE_NAME_LEN + 1] = {0,};
DA_LOGV("");
if (len_name) {
End = strrchr(name_buff, '.');
- if (End != NULL)
+ if (End != NULL) {
+ len_ext = strlen(End) - 1;
+ if (len_ext <= MAX_EXT_NAME_LEN) {
+ *extension = (char*) calloc(1, len_ext);
+ if (*extension)
+ strncpy(*extension, End + 1, len_ext);
+ }
*End = '\0';
+ }
// DA_SECURE_LOGD("file name BEFORE removing prohibited character = %s", name_buff);
delete_prohibited_char(name_buff, strlen(name_buff));
len_name = strlen(name_buff);
if (*name)
strncpy(*name, name_buff, len_name);
}
- // DA_SECURE_LOGD("Extracted file name : %s", *name);
+ DA_SECURE_LOGD("Extracted file name : %s, extension : %s", *name, *extension);
ERR:
if (buff) {
free(buff);
da_bool_t is_ambiguous_MIME_Type(const char *in_mime_type);
da_bool_t da_get_extension_name_from_url(char *url, char **ext);
da_ret_t da_mime_get_ext_name(char *mime, char **ext);
-da_bool_t da_get_file_name_from_url(char *url, char **name) ;
+da_bool_t da_get_file_name_from_url(char *url, char **name, char **extension);
void delete_prohibited_char(char *szTarget, int str_len);
da_ret_t get_extension_from_mime_type(char *mime_type, char **extension);
#ifdef _ENABLE_OMA_DRM