cvs: php4 /ext/standard url_scanner.c url_scanner.re
| From: | Hartmut Holzgraefe | 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 */