]> granicus.if.org Git - php/commitdiff
get_meta_tags now handles single quoted attributes as well as those that
authorSean Bright <elixer@php.net>
Mon, 5 Mar 2001 00:20:41 +0000 (00:20 +0000)
committerSean Bright <elixer@php.net>
Mon, 5 Mar 2001 00:20:41 +0000 (00:20 +0000)
are double quoted.

ext/standard/file.c

index a5c21402b328667590afa70dffdc0b79ff05f0fd..bbf9ee4773d215773b9400a86e65997fac46674b 100644 (file)
@@ -2098,7 +2098,7 @@ size_t php_fread_all(char **buf, int socket, FILE *fp, int issock) {
 
 /* Tokenizes an HTML file for get_meta_tags */
 php_meta_tags_token php_next_meta_token(FILE *fp, int socketd, int issock, int *use_last_char, int *last_char, char **data, int *datalen) {
-       int ch;
+       int ch, compliment;
        char buff[META_DEF_BUFSIZE + 1];
 
        memset((void *)buff,0,META_DEF_BUFSIZE + 1);
@@ -2126,9 +2126,11 @@ php_meta_tags_token php_next_meta_token(FILE *fp, int socketd, int issock, int *
         case '/':
             return TOK_SLASH;
             break;
+        case '\'':
         case '"':
+            compliment = ch;
             *datalen = 0;
-            while (!FP_FEOF(socketd,fp,issock) && (ch = FP_FGETC(socketd,fp,issock)) && ch != '"') {
+            while (!FP_FEOF(socketd,fp,issock) && (ch = FP_FGETC(socketd,fp,issock)) && ch != compliment) {
                                buff[(*datalen)++] = ch;
 
                                if (*datalen == META_DEF_BUFSIZE)