mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-12-18 02:02:36 +03:00
Remove ami_datatype_to_mimetype
svn path=/trunk/netsurf/; revision=12451
This commit is contained in:
parent
e2ef8df4d7
commit
0c9ca84e42
@ -60,6 +60,7 @@ const char *fetch_filetype(const char *unix_path)
|
|||||||
BPTR lock = 0;
|
BPTR lock = 0;
|
||||||
struct DataType *dtn;
|
struct DataType *dtn;
|
||||||
BOOL found = FALSE;
|
BOOL found = FALSE;
|
||||||
|
lwc_string *lwc_mimetype;
|
||||||
|
|
||||||
/* First, check if we appear to have an icon.
|
/* First, check if we appear to have an icon.
|
||||||
We'll just do a filename check here for quickness, although the
|
We'll just do a filename check here for quickness, although the
|
||||||
@ -91,9 +92,7 @@ const char *fetch_filetype(const char *unix_path)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If that didn't work, have a go at guessing it using datatypes.library. This isn't
|
/* If that didn't work, use the MIME file and DataTypes */
|
||||||
accurate - the base names differ from those used by MIME and it relies on the
|
|
||||||
user having a datatype installed which can handle the file. */
|
|
||||||
|
|
||||||
if(!found)
|
if(!found)
|
||||||
{
|
{
|
||||||
@ -101,9 +100,13 @@ const char *fetch_filetype(const char *unix_path)
|
|||||||
{
|
{
|
||||||
if (dtn = ObtainDataTypeA (DTST_FILE, (APTR)lock, NULL))
|
if (dtn = ObtainDataTypeA (DTST_FILE, (APTR)lock, NULL))
|
||||||
{
|
{
|
||||||
ami_datatype_to_mimetype(dtn, &mimetype);
|
if(ami_mime_from_datatype(dtn, &lwc_mimetype, NULL))
|
||||||
found = TRUE;
|
{
|
||||||
ReleaseDataType(dtn);
|
strcpy(mimetype, lwc_string_data(lwc_mimetype));
|
||||||
|
lwc_string_unref(lwc_mimetype);
|
||||||
|
found = TRUE;
|
||||||
|
ReleaseDataType(dtn);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
UnLock(lock);
|
UnLock(lock);
|
||||||
}
|
}
|
||||||
@ -168,61 +171,6 @@ const char *ami_content_type_to_file_type(content_type type)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ami_datatype_to_mimetype(struct DataType *dtn, char *mimetype)
|
|
||||||
{
|
|
||||||
struct DataTypeHeader *dth = dtn->dtn_Header;
|
|
||||||
|
|
||||||
switch(dth->dth_GroupID)
|
|
||||||
{
|
|
||||||
case GID_TEXT:
|
|
||||||
case GID_DOCUMENT:
|
|
||||||
if(strcmp("ascii",dth->dth_BaseName)==0)
|
|
||||||
{
|
|
||||||
strcpy(mimetype,"text/plain");
|
|
||||||
}
|
|
||||||
else if(strcmp("simplehtml",dth->dth_BaseName)==0)
|
|
||||||
{
|
|
||||||
strcpy(mimetype,"text/html");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
sprintf(mimetype,"text/%s",dth->dth_BaseName);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case GID_SOUND:
|
|
||||||
case GID_INSTRUMENT:
|
|
||||||
case GID_MUSIC:
|
|
||||||
sprintf(mimetype,"audio/%s",dth->dth_BaseName);
|
|
||||||
break;
|
|
||||||
case GID_PICTURE:
|
|
||||||
sprintf(mimetype,"image/%s",dth->dth_BaseName);
|
|
||||||
if(strcmp("sprite",dth->dth_BaseName)==0)
|
|
||||||
{
|
|
||||||
strcpy(mimetype,"image/x-riscos-sprite");
|
|
||||||
}
|
|
||||||
if(strcmp("mng",dth->dth_BaseName)==0)
|
|
||||||
{
|
|
||||||
strcpy(mimetype,"video/mng");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case GID_ANIMATION:
|
|
||||||
case GID_MOVIE:
|
|
||||||
sprintf(mimetype,"video/%s",dth->dth_BaseName);
|
|
||||||
break;
|
|
||||||
case GID_SYSTEM:
|
|
||||||
default:
|
|
||||||
if(strcmp("directory",dth->dth_BaseName)==0)
|
|
||||||
{
|
|
||||||
strcpy(mimetype,"application/x-netsurf-directory");
|
|
||||||
}
|
|
||||||
else if(strcmp("binary",dth->dth_BaseName)==0)
|
|
||||||
{
|
|
||||||
strcpy(mimetype,"application/octet-stream");
|
|
||||||
}
|
|
||||||
else sprintf(mimetype,"application/%s",dth->dth_BaseName);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
nserror ami_mime_init(const char *mimefile)
|
nserror ami_mime_init(const char *mimefile)
|
||||||
{
|
{
|
||||||
|
@ -45,5 +45,4 @@ bool ami_mime_compare(struct hlcache_handle *c, const char *type);
|
|||||||
|
|
||||||
/* deprecated */
|
/* deprecated */
|
||||||
const char *ami_content_type_to_file_type(content_type type);
|
const char *ami_content_type_to_file_type(content_type type);
|
||||||
void ami_datatype_to_mimetype(struct DataType *dtn, char *mimetype);
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user