forked from tTh/FloatImg
parsing filename for filetype
This commit is contained in:
parent
6fe06f695a
commit
cf70ca6b81
|
@ -32,6 +32,10 @@ typedef struct {
|
||||||
#define FIMG_TYPE_RGB 3
|
#define FIMG_TYPE_RGB 3
|
||||||
#define FIMG_TYPE_RGBA 4
|
#define FIMG_TYPE_RGBA 4
|
||||||
|
|
||||||
|
#define FILE_TYPE_FIMG 1
|
||||||
|
#define FILE_TYPE_PNM 2
|
||||||
|
#define FILE_TYPE_PNG 3
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* core module
|
* core module
|
||||||
*/
|
*/
|
||||||
|
@ -91,6 +95,8 @@ int fimg_draw_something(FloatImg *fimg);
|
||||||
|
|
||||||
int parse_WxH(char *str, int *pw, int *ph);
|
int parse_WxH(char *str, int *pw, int *ph);
|
||||||
int parse_double(char *str, double *dptr);
|
int parse_double(char *str, double *dptr);
|
||||||
|
int format_from_extension(char *fname);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
28
funcs/t.c
28
funcs/t.c
|
@ -9,7 +9,7 @@
|
||||||
#include "../floatimg.h"
|
#include "../floatimg.h"
|
||||||
|
|
||||||
/* --------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------- */
|
||||||
int main(int argc, char *argv[])
|
int essai_parse_double(void)
|
||||||
{
|
{
|
||||||
int foo;
|
int foo;
|
||||||
double dval;
|
double dval;
|
||||||
|
@ -34,3 +34,29 @@ printf("%-10s -> %3d %g\n", str, foo, dval);
|
||||||
return 0;
|
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;
|
||||||
|
}
|
||||||
|
/* --------------------------------------------------------------------- */
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
#include "../floatimg.h"
|
#include "../floatimg.h"
|
||||||
|
|
||||||
|
@ -42,3 +42,24 @@ if (1 == foo) {
|
||||||
return -1;
|
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;
|
||||||
|
}
|
||||||
|
/* --------------------------------------------------------------------- */
|
||||||
|
|
Loading…
Reference in New Issue