diff options
Diffstat (limited to 'ext/mime_magic/mime_magic.c')
| -rw-r--r-- | ext/mime_magic/mime_magic.c | 79 |
1 files changed, 35 insertions, 44 deletions
diff --git a/ext/mime_magic/mime_magic.c b/ext/mime_magic/mime_magic.c index 595fe6b17a..4df4411f12 100644 --- a/ext/mime_magic/mime_magic.c +++ b/ext/mime_magic/mime_magic.c @@ -168,8 +168,6 @@ #define PHP_MIME_MAGIC_FILE_PATH PHP_PREFIX "\\magic.mime" #endif -#define MODNAME "mime_magic" - static int apprentice(void); static int ascmagic(unsigned char *, int); static int is_tar(unsigned char *, int); @@ -313,12 +311,12 @@ PHP_FUNCTION(mime_content_type) } if (conf->magic == (struct magic *)-1) { - php_error(E_ERROR, MODNAME " could not be initialized, magic file %s is not avaliable", conf->magicfile); + php_error_docref(NULL TSRMLS_CC, E_ERROR, "mime_magic could not be initialized, magic file %s is not avaliable", conf->magicfile); RETURN_FALSE; } if(!conf->magic) { - php_error(E_WARNING, MODNAME " not initialized"); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "mime_magic not initialized"); RETURN_FALSE; } @@ -428,10 +426,12 @@ static unsigned long signextend(struct magic *m, unsigned long v) break; case STRING: break; - default: - php_error(E_WARNING, - MODNAME ": can't happen: m->type=%d", m->type); + default: + { + TSRMLS_FETCH(); + php_error_docref(NULL TSRMLS_CC, E_WARNING, ": can't happen: m->type=%d", m->type); return -1; + } } return v; } @@ -444,6 +444,7 @@ static int parse(char *l, int lineno) struct magic *m; char *t, *s; magic_server_config_rec *conf = &mime_global; + TSRMLS_FETCH(); /* allocate magic structure entry */ m = (struct magic *) calloc(1, sizeof(struct magic)); @@ -476,8 +477,7 @@ static int parse(char *l, int lineno) /* get offset, then skip over it */ m->offset = (int) strtol(l, &t, 0); if (l == t) { - php_error(E_WARNING, - MODNAME ": (line %d) offset `%s' invalid", lineno, l); + php_error_docref(NULL TSRMLS_CC, E_WARNING, ": (line %d) offset `%s' invalid", lineno, l); } l = t; @@ -499,8 +499,7 @@ static int parse(char *l, int lineno) m->in.type = BYTE; break; default: - php_error(E_WARNING, - MODNAME ": indirect offset type %c invalid", *l); + php_error_docref(NULL TSRMLS_CC, E_WARNING, ": indirect offset type %c invalid", *l); break; } l++; @@ -516,8 +515,7 @@ static int parse(char *l, int lineno) else t = l; if (*t++ != ')') { - php_error(E_WARNING, - MODNAME ": missing ')' in indirect offset"); + php_error_docref(NULL TSRMLS_CC, E_WARNING, ": missing ')' in indirect offset"); } l = t; } @@ -590,8 +588,7 @@ static int parse(char *l, int lineno) l += NLEDATE; } else { - php_error(E_WARNING, - MODNAME ": type %s invalid", l); + php_error_docref(NULL TSRMLS_CC, E_WARNING, ": type %s invalid", l); return -1; } /* New-style anding: "0 byte&0x80 =0x80 dynamically linked" */ @@ -690,8 +687,8 @@ static char *getstr(register char *s, register char *p, if (isspace((unsigned char) c)) break; if (p >= pmax) { - php_error(E_WARNING, - MODNAME ": string too long: %s", origs); + TSRMLS_FETCH(); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "string too long: %s", origs); break; } if (c == '\\') { @@ -849,8 +846,7 @@ static int magic_rsl_add(char *str) /* make sure we have a list to put it in */ if (!req_dat) { - php_error(E_WARNING, - MODNAME ": request config should not be NULL"); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "request config should not be NULL"); if (!(req_dat = magic_set_config())) { /* failure */ return -1; @@ -986,8 +982,7 @@ static int magic_process(char *filename TSRMLS_DC) if (stream == NULL) { /* We can't open it, but we were able to stat it. */ - php_error(E_WARNING, - MODNAME ": can't read `%s'", filename); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "can't read `%s'", filename); /* let some other handler decide what the problem is */ return MIME_MAGIC_DECLINED; } @@ -996,8 +991,7 @@ static int magic_process(char *filename TSRMLS_DC) * try looking at the first HOWMANY bytes */ if ((nbytes = php_stream_read(stream, (char *) buf, sizeof(buf) - 1)) == -1) { - php_error(E_WARNING, - MODNAME ": read failed: %s", filename); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "read failed: %s", filename); return MIME_MAGIC_ERROR; } @@ -1092,8 +1086,7 @@ static int fsmagic(char *filename TSRMLS_DC) /* We used stat(), the only possible reason for this is that the * symlink is broken. */ - php_error(E_WARNING, - MODNAME ": broken symlink (%s)", filename); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "broken symlink (%s)", filename); return MIME_MAGIC_ERROR; #endif #ifdef S_IFSOCK @@ -1108,8 +1101,7 @@ static int fsmagic(char *filename TSRMLS_DC) case 0: break; default: - php_error(E_WARNING, - MODNAME ": invalid mode 0%o.", (unsigned int)stat_ssb.sb.st_mode); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "invalid mode 0%o.", (unsigned int)stat_ssb.sb.st_mode); return MIME_MAGIC_ERROR; } @@ -1463,11 +1455,12 @@ static int mcheck(union VALUETYPE *p, struct magic *m) register unsigned long l = m->value.l; register unsigned long v; int matched; + TSRMLS_FETCH(); if ((m->value.s[0] == 'x') && (m->value.s[1] == '\0')) { - php_error(E_WARNING, - MODNAME ": BOINK"); - return 1; + + php_error_docref(NULL TSRMLS_CC, E_WARNING, "BOINK"); + return 1; } switch (m->type) { @@ -1510,8 +1503,7 @@ static int mcheck(union VALUETYPE *p, struct magic *m) break; default: /* bogosity, pretend that it just wasn't a match */ - php_error(E_WARNING, - MODNAME ": invalid type %d in mcheck().", m->type); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "invalid type %d in mcheck().", m->type); return 0; } @@ -1559,9 +1551,7 @@ static int mcheck(union VALUETYPE *p, struct magic *m) default: /* bogosity, pretend it didn't match */ matched = 0; - php_error(E_WARNING, - MODNAME ": mcheck: can't happen: invalid relation %d.", - m->reln); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "mcheck: can't happen: invalid relation %d.", m->reln); break; } @@ -1643,10 +1633,11 @@ static void mprint(union VALUETYPE *p, struct magic *m) (void) magic_rsl_printf(m->desc, pp); return; default: - php_error(E_WARNING, - MODNAME ": invalid m->type (%d) in mprint().", - m->type); + { + TSRMLS_FETCH(); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "invalid m->type (%d) in mprint().", m->type); return; + } } v = signextend(m, v) & m->mask; @@ -1689,9 +1680,11 @@ static int mconvert(union VALUETYPE *p, struct magic *m) ((p->hl[3] << 24) | (p->hl[2] << 16) | (p->hl[1] << 8) | (p->hl[0])); return 1; default: - php_error(E_WARNING, - MODNAME ": invalid type %d in mconvert().", m->type); + { + TSRMLS_FETCH(); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "invalid type %d in mconvert().", m->type); return 0; + } } } @@ -1765,8 +1758,7 @@ static int magic_rsl_get(char **content_type, char **content_encoding) else { /* should not be possible */ /* abandon malfunctioning module */ - php_error(E_WARNING, - MODNAME ": bad state %d (ws)", state); + php_error_docref(NULL TSRMLS_CC, E_WARNING, ": bad state %d (ws)", state); return MIME_MAGIC_DECLINED; } /* NOTREACHED */ @@ -1809,8 +1801,7 @@ static int magic_rsl_get(char **content_type, char **content_encoding) else { /* should not be possible */ /* abandon malfunctioning module */ - php_error(E_WARNING, - MODNAME ": bad state %d (ns)", state); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "bad state %d (ns)", state); return MIME_MAGIC_DECLINED; } /* NOTREACHED */ |
