cvs: /php4/ext/zlib zlib.c

From: Date: Tue, 07 Sep 1999 19:05:37 +0000
Subject: cvs: /php4/ext/zlib zlib.c
Groups: php.version4 
Request: Send a blank email to php-version4+get-4209@lists.php.net to get a copy of this message
sr Tue Sep 7 15:05:37 1999 EDT Modified files: /php4/ext/zlib zlib.c Log: Fixed behavior with empty doc_root. gzgetss() now uses _php3_strip_tags. Index: php4/ext/zlib/zlib.c diff -u php4/ext/zlib/zlib.c:1.13 php4/ext/zlib/zlib.c:1.14 --- php4/ext/zlib/zlib.c:1.13 Mon Sep 6 15:09:47 1999 +++ php4/ext/zlib/zlib.c Tue Sep 7 15:05:37 1999 @@ -16,7 +16,7 @@ | Stefan Röhrich <sr@linux.de> | +----------------------------------------------------------------------+ */ -/* $Id: zlib.c,v 1.13 1999/09/06 19:09:47 sr Exp $ */ +/* $Id: zlib.c,v 1.14 1999/09/07 19:05:37 sr Exp $ */ #define IS_EXT_MODULE #include "php.h" @@ -203,7 +203,11 @@ if (*filename == '/') { #endif if (PG(safe_mode)) { - snprintf(trypath,MAXPATHLEN,"%s%s",PG(doc_root),filename); + if(PG(doc_root)) { + snprintf(trypath, MAXPATHLEN, "%s%s", PG(doc_root), filename); + } else { + strncpy(trypath,filename,MAXPATHLEN); + } if (!_php3_checkuid(trypath,2)) { return(NULL); } @@ -478,8 +482,8 @@ { pval *fd, *bytes; gzFile *zp; - int len, br; - char *buf, *p, *rbuf, *rp, c, lc; + int len; + char *buf; ZLIBLS_FETCH(); if (ARG_COUNT(ht) != 2 || getParameters(ht, 2, &fd, &bytes) == FAILURE) { @@ -500,86 +504,9 @@ RETURN_FALSE; } - rbuf = estrdup(buf); - c = *buf; - lc = '\0'; - p = buf; - rp = rbuf; - br = 0; - - while (c) { - switch (c) { - case '<': - if (ZLIBG(gzgetss_state) == 0) { - lc = '<'; - ZLIBG(gzgetss_state) = 1; - } - break; - - case '(': - if (ZLIBG(gzgetss_state) == 2) { - if (lc != '\"') { - lc = '('; - br++; - } - } else if (ZLIBG(gzgetss_state) == 0) { - *(rp++) = c; - } - break; - - case ')': - if (ZLIBG(gzgetss_state) == 2) { - if (lc != '\"') { - lc = ')'; - br--; - } - } else if (ZLIBG(gzgetss_state) == 0) { - *(rp++) = c; - } - break; - - case '>': - if (ZLIBG(gzgetss_state) == 1) { - lc = '>'; - ZLIBG(gzgetss_state) = 0; - } else if (ZLIBG(gzgetss_state) == 2) { - if (!br && lc != '\"') { - ZLIBG(gzgetss_state) = 0; - } - } - break; - - case '\"': - if (ZLIBG(gzgetss_state) == 2) { - if (lc == '\"') { - lc = '\0'; - } else if (lc != '\\') { - lc = '\"'; - } - } else if (ZLIBG(gzgetss_state) == 0) { - *(rp++) = c; - } - break; - - case '?': - if (ZLIBG(gzgetss_state)==1) { - br=0; - ZLIBG(gzgetss_state)=2; - break; - } - /* fall-through */ - - default: - if (ZLIBG(gzgetss_state) == 0) { - *(rp++) = c; - } - } - c = *(++p); - } - *rp = '\0'; - efree(buf); - RETVAL_STRING(rbuf,1); - efree(rbuf); + _php3_strip_tags(buf, ZLIBG(gzgetss_state)); + RETURN_STRING(buf, 0); + } /* }}} */

« previous php.version4 (#4209) next »