From: <enl...@li...> - 2001-03-20 22:26:04
|
Enlightenment CVS committal Author : cpk Project : e17 Module : apps/efsd Dir : e17/apps/efsd/efsd Modified Files: efsd_magic.c Log Message: A bunch of fixes, both in the mimetype stuff (look at that beautiful application/gnu-zip-unix, which means bytestrings work a lot better :). =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/efsd/efsd/efsd_magic.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- efsd_magic.c 2001/03/20 16:54:34 1.8 +++ efsd_magic.c 2001/03/20 22:27:55 1.9 @@ -698,8 +698,9 @@ D(("Performing string test: '%s' == '%s'\n", s, (char*)em->value)); - if (!strncmp(s, em->value, len)) + if (memcmp(s, em->value, len) == 0) { + D(("...succeeded.\n")); D_RETURN_(em->mimetype); } } @@ -717,7 +718,7 @@ magic_test_level(EfsdMagic *level, FILE *f, char *ptr, char stop_when_found) { EfsdMagic *em; - char *s; + char *s, *ptr2; char *result = NULL; D_ENTER; @@ -727,11 +728,13 @@ if ((s = magic_test_perform(em, f)) != NULL) { sprintf(ptr, "%s", s); - ptr = ptr + strlen(ptr); + ptr = ptr + strlen(s); result = ptr; - if ((ptr = magic_test_level(em->kids, f, ptr, FALSE))) - result = ptr; + if ((ptr2 = magic_test_level(em->kids, f, ptr, FALSE))) + { + result = ptr = ptr2; + } if (stop_when_found) { @@ -1123,9 +1126,11 @@ D(("magic: data check failed.\n")); + /* result = magic_test_pattern(filename); if (result) D_RETURN_(result); + */ D(("magic: file pattern check failed.\n")); |