Lines Matching refs:ms

56 file_vprintf(struct magic_set *ms, const char *fmt, va_list ap)  in file_vprintf()  argument
65 if (ms->o.buf != NULL) { in file_vprintf()
66 len = asprintf(&newstr, "%s%s", ms->o.buf, buf); in file_vprintf()
70 free(ms->o.buf); in file_vprintf()
73 ms->o.buf = buf; in file_vprintf()
76 file_error(ms, errno, "vasprintf failed"); in file_vprintf()
81 file_printf(struct magic_set *ms, const char *fmt, ...) in file_printf() argument
87 rv = file_vprintf(ms, fmt, ap); in file_printf()
97 file_error_core(struct magic_set *ms, int error, const char *f, va_list va, in file_error_core() argument
101 if (ms->event_flags & EVENT_HAD_ERR) in file_error_core()
104 free(ms->o.buf); in file_error_core()
105 ms->o.buf = NULL; in file_error_core()
106 file_printf(ms, "line %zu: ", lineno); in file_error_core()
108 file_vprintf(ms, f, va); in file_error_core()
110 file_printf(ms, " (%s)", strerror(error)); in file_error_core()
111 ms->event_flags |= EVENT_HAD_ERR; in file_error_core()
112 ms->error = error; in file_error_core()
117 file_error(struct magic_set *ms, int error, const char *f, ...) in file_error() argument
121 file_error_core(ms, error, f, va, 0); in file_error()
130 file_magerror(struct magic_set *ms, const char *f, ...) in file_magerror() argument
134 file_error_core(ms, 0, f, va, ms->line); in file_magerror()
139 file_oomem(struct magic_set *ms, size_t len) in file_oomem() argument
141 file_error(ms, errno, "cannot allocate %zu bytes", len); in file_oomem()
145 file_badseek(struct magic_set *ms) in file_badseek() argument
147 file_error(ms, errno, "error seeking"); in file_badseek()
151 file_badread(struct magic_set *ms) in file_badread() argument
153 file_error(ms, errno, "error reading"); in file_badread()
158 file_buffer(struct magic_set *ms, int fd, const char *inname, const void *buf, in file_buffer() argument
162 int mime = ms->flags & MAGIC_MIME; in file_buffer()
174 file_printf(ms, mime ? "application/x-empty" : in file_buffer()
180 file_printf(ms, mime ? "application/octet-stream" : in file_buffer()
186 if ((ms->flags & MAGIC_NO_CHECK_ENCODING) == 0) { in file_buffer()
187 looks_text = file_encoding(ms, ubuf, nb, &u8buf, &ulen, in file_buffer()
192 if ((ms->flags & MAGIC_NO_CHECK_APPTYPE) == 0 && inname) { in file_buffer()
193 switch (file_os2_apptype(ms, inname, buf, nb)) { in file_buffer()
205 if ((ms->flags & MAGIC_NO_CHECK_COMPRESS) == 0) in file_buffer()
206 if ((m = file_zmagic(ms, fd, inname, ubuf, nb)) != 0) { in file_buffer()
207 if ((ms->flags & MAGIC_DEBUG) != 0) in file_buffer()
213 if ((ms->flags & MAGIC_NO_CHECK_TAR) == 0) in file_buffer()
214 if ((m = file_is_tar(ms, ubuf, nb)) != 0) { in file_buffer()
215 if ((ms->flags & MAGIC_DEBUG) != 0) in file_buffer()
221 if ((ms->flags & MAGIC_NO_CHECK_CDF) == 0) in file_buffer()
222 if ((m = file_trycdf(ms, fd, ubuf, nb)) != 0) { in file_buffer()
223 if ((ms->flags & MAGIC_DEBUG) != 0) in file_buffer()
229 if ((ms->flags & MAGIC_NO_CHECK_SOFT) == 0) in file_buffer()
230 if ((m = file_softmagic(ms, ubuf, nb, BINTEST)) != 0) { in file_buffer()
231 if ((ms->flags & MAGIC_DEBUG) != 0) in file_buffer()
234 if ((ms->flags & MAGIC_NO_CHECK_ELF) == 0 && m == 1 && in file_buffer()
245 if ((m = file_tryelf(ms, fd, ubuf, nb)) != 0) in file_buffer()
246 if ((ms->flags & MAGIC_DEBUG) != 0) in file_buffer()
255 if ((ms->flags & MAGIC_NO_CHECK_TEXT) == 0) { in file_buffer()
257 if ((m = file_ascmagic(ms, ubuf, nb)) != 0) { in file_buffer()
258 if ((ms->flags & MAGIC_DEBUG) != 0) in file_buffer()
264 if ((ms->flags & MAGIC_NO_CHECK_ENCODING) == 0) { in file_buffer()
266 if ((m = file_ascmagic_with_encoding( ms, ubuf, in file_buffer()
268 if ((ms->flags & MAGIC_DEBUG) != 0) in file_buffer()
279 file_printf(ms, mime ? "application/octet-stream" : "data") == -1) { in file_buffer()
283 if ((ms->flags & MAGIC_MIME_ENCODING) != 0) { in file_buffer()
284 if (ms->flags & MAGIC_MIME_TYPE) in file_buffer()
285 if (file_printf(ms, "; charset=") == -1) in file_buffer()
287 if (file_printf(ms, "%s", code_mime) == -1) in file_buffer()
300 file_reset(struct magic_set *ms) in file_reset() argument
302 if (ms->mlist == NULL) { in file_reset()
303 file_error(ms, 0, "no magic files loaded"); in file_reset()
306 if (ms->o.buf) { in file_reset()
307 free(ms->o.buf); in file_reset()
308 ms->o.buf = NULL; in file_reset()
310 if (ms->o.pbuf) { in file_reset()
311 free(ms->o.pbuf); in file_reset()
312 ms->o.pbuf = NULL; in file_reset()
314 ms->event_flags &= ~EVENT_HAD_ERR; in file_reset()
315 ms->error = -1; in file_reset()
328 file_getbuffer(struct magic_set *ms) in file_getbuffer() argument
333 if (ms->event_flags & EVENT_HAD_ERR) in file_getbuffer()
336 if (ms->flags & MAGIC_RAW) in file_getbuffer()
337 return ms->o.buf; in file_getbuffer()
339 if (ms->o.buf == NULL) in file_getbuffer()
343 len = strlen(ms->o.buf); in file_getbuffer()
345 file_oomem(ms, len); in file_getbuffer()
349 if ((pbuf = CAST(char *, realloc(ms->o.pbuf, psize))) == NULL) { in file_getbuffer()
350 file_oomem(ms, psize); in file_getbuffer()
353 ms->o.pbuf = pbuf; in file_getbuffer()
364 np = ms->o.pbuf; in file_getbuffer()
365 op = ms->o.buf; in file_getbuffer()
390 return ms->o.pbuf; in file_getbuffer()
394 for (np = ms->o.pbuf, op = ms->o.buf; *op; op++) { in file_getbuffer()
402 return ms->o.pbuf; in file_getbuffer()
406 file_check_mem(struct magic_set *ms, unsigned int level) in file_check_mem() argument
410 if (level >= ms->c.len) { in file_check_mem()
411 len = (ms->c.len += 20) * sizeof(*ms->c.li); in file_check_mem()
412 ms->c.li = CAST(struct level_info *, (ms->c.li == NULL) ? in file_check_mem()
414 realloc(ms->c.li, len)); in file_check_mem()
415 if (ms->c.li == NULL) { in file_check_mem()
416 file_oomem(ms, len); in file_check_mem()
420 ms->c.li[level].got_match = 0; in file_check_mem()
422 ms->c.li[level].last_match = 0; in file_check_mem()
423 ms->c.li[level].last_cond = COND_NONE; in file_check_mem()