cvs: php4 /ext/standard url_scanner.c url_scanner.re

From: Date: Fri, 23 Jun 2000 05:42:41 +0000
Subject: cvs: php4 /ext/standard url_scanner.c url_scanner.re
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-397@lists.php.net to get a copy of this message
hholzgra Thu Jun 22 22:42:41 2000 EDT Modified files: /php4/ext/standard url_scanner.c url_scanner.re Log: this change should solve all problems regarding trans_sid_id and "empty" href urls like "", "#name", "?param=val" ... Index: php4/ext/standard/url_scanner.c diff -u php4/ext/standard/url_scanner.c:1.16 php4/ext/standard/url_scanner.c:1.17 --- php4/ext/standard/url_scanner.c:1.16 Thu May 18 08:34:36 2000 +++ php4/ext/standard/url_scanner.c Thu Jun 22 22:42:41 2000 @@ -17,7 +17,7 @@ | Author: Sascha Schumann <sascha@schumann.cx> | +----------------------------------------------------------------------+ */ -/* $Id: url_scanner.c,v 1.16 2000/05/18 15:34:36 zeev Exp $ */ +/* $Id: url_scanner.c,v 1.17 2000/06/23 05:42:41 hholzgra Exp $ */ #include "php.h" @@ -87,9 +87,13 @@ const char *p, *q; char c; + /* search outer limits for URI */ for(p = state->start; p < state->crs && (c = *p); p++) - if(c != '"' && c != ' ') break; + if(!isspace(c)) break; + if(c=='"') p++; + for(; p < state->crs && (c = *p); p++) + if(!isspace(c)) break; /* * we look at q-1, because q points to the character behind the last @@ -98,14 +102,20 @@ */ for(q = state->crs; q > state->start && (c = *(q-1)); q--) - if(c != '"' && c != ' ') break; + if(!isspace(c)) break; + if(c=='"') q--; + for(; q > state->start && (c = *(q-1)); q--) + if(!isspace(c)) break; + + if(q<p) { p=state->start; q=state->crs; } /* attach beginning */ - ATTACH(state->start, p-state->start); /* copy old URI */ len = MIN(q - p, sizeof(buf) - 1); + php_error(E_WARNING,"%p - %p - %p - %p - %d - %d",state->start,state->crs,p,q,q-p,len); + memcpy(url, p, len); url[len] = '\0'; Index: php4/ext/standard/url_scanner.re diff -u php4/ext/standard/url_scanner.re:1.10 php4/ext/standard/url_scanner.re:1.11 --- php4/ext/standard/url_scanner.re:1.10 Fri Dec 31 17:31:53 1999 +++ php4/ext/standard/url_scanner.re Thu Jun 22 22:42:41 2000 @@ -15,7 +15,7 @@ | Author: Sascha Schumann <sascha@schumann.cx> | +----------------------------------------------------------------------+ */ -/* $Id: url_scanner.re,v 1.10 2000/01/01 01:31:53 sas Exp $ */ +/* $Id: url_scanner.re,v 1.11 2000/06/23 05:42:41 hholzgra Exp $ */ #include "php.h" #include "snprintf.h" @@ -88,7 +88,8 @@ /* search outer limits for URI */ for(p = state->start; p < state->crs && (c = *p); p++) - if(c != '"' && c != ' ') break; + if(!isspace(c)) break; + if(c=='"') p++; /* * we look at q-1, because q points to the character behind the last @@ -97,7 +98,10 @@ */ for(q = state->crs; q > state->start && (c = *(q-1)); q--) - if(c != '"' && c != ' ') break; + if(!isspace(c)) break; + if(c=='"') q--; + + if(q<p) { p=state->start; q=state->crs; } /* attach beginning */

« previous php.cvs (#397) next »