7 #if defined(HAVE_MAGIC_H)
15 #define _RPMMG_INTERNAL
30 #if defined(HAVE_MAGIC_H)
36 mg->fn =
_free(mg->fn);
49 if (_rpmmgPool == NULL) {
64 #if defined(HAVE_MAGIC_H)
65 mg->flags = (flags ? flags : MAGIC_CHECK);
66 mg->ms = magic_open(flags);
68 xx = magic_load(mg->ms, mg->fn);
71 (fn ? fn :
"(nil)"), magic_error(mg->ms));
76 flags, strerror(
errno));
86 const char * t = NULL;
89 fprintf(stderr,
"--> rpmmgFile(%p, %s)\n", mg, (fn ? fn :
"(nil)"));
91 #if defined(HAVE_MAGIC_H)
93 const char * lpath = NULL;
105 fd =
Fopen(fn,
"r.ufdio");
106 if (fd != NULL && !
Ferror(fd)) {
107 nb =
Fread(b, 1,
sizeof(b), fd);
121 t = magic_file(mg->ms, fn);
124 const char * msg = magic_error(mg->ms);
125 if (strstr(msg,
"regexec error 17, (match failed)") == NULL)
127 (fn ? fn :
"(nil)"), msg);
134 if (t == NULL) t =
"";
138 fprintf(stderr,
"<-- rpmmgFile(%p, %s) %s\n", mg, (fn ? fn :
"(nil)"), t);
144 const char * t = NULL;
147 fprintf(stderr,
"--> rpmmgBuffer(%p, %p[%d])\n", mg, b, (
int)nb);
148 if (nb == 0) nb = strlen(b);
149 #if defined(HAVE_MAGIC_H)
151 t = magic_buffer(mg->ms, b, nb);
154 const char * msg = magic_error(mg->ms);
155 if (strstr(msg,
"regexec error 17, (match failed)") == NULL)
157 b, (
unsigned)nb, msg);
162 if (t == NULL) t =
"";
166 fprintf(stderr,
"<-- rpmmgBuffer(%p, %p[%d]) %s\n", mg, b, (
int)nb, t);