parsing filename for filetype

This commit is contained in:
2019-10-30 15:49:53 +01:00
parent 6fe06f695a
commit cf70ca6b81
3 changed files with 55 additions and 2 deletions

View File

@@ -9,7 +9,7 @@
#include "../floatimg.h"
/* --------------------------------------------------------------------- */
int main(int argc, char *argv[])
int essai_parse_double(void)
{
int foo;
double dval;
@@ -34,3 +34,29 @@ printf("%-10s -> %3d %g\n", str, foo, dval);
return 0;
}
/* --------------------------------------------------------------------- */
int essai_detect_type(void)
{
int foo;
char *fname;
foo = format_from_extension(fname="foo.fimg");
printf("%-10s %d\n\n", fname, foo);
foo = format_from_extension(fname="foo.pNm");
printf("%-10s %d\n\n", fname, foo);
foo = format_from_extension(fname="foo.xyzzy");
printf("%-10s %d\n\n", fname, foo);
return 0;
}
/* --------------------------------------------------------------------- */
int main(int argc, char *argv[])
{
int foo;
foo = essai_detect_type();
return 0;
}
/* --------------------------------------------------------------------- */

View File

@@ -1,7 +1,7 @@
#include <stdio.h>
#include <string.h>
#include "../floatimg.h"
@@ -42,3 +42,24 @@ if (1 == foo) {
return -1;
}
/* --------------------------------------------------------------------- */
int format_from_extension(char *fname)
{
char *cptr;
cptr = rindex(fname, '.');
if (NULL==cptr) {
fprintf(stderr, "do dot in %s\n", fname);
return -1;
}
#if DEBUG_LEVEL
fprintf(stderr, "[%s] --> [%s]\n", fname, cptr);
#endif
if (!strcasecmp(cptr, ".pnm")) return FILE_TYPE_PNM;
if (!strcasecmp(cptr, ".fimg")) return FILE_TYPE_FIMG;
if (!strcasecmp(cptr, ".png")) return FILE_TYPE_PNG;
return -1;
}
/* --------------------------------------------------------------------- */