summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>2000-05-11 19:18:11 +0000
committerZeev Suraski <zeev@php.net>2000-05-11 19:18:11 +0000
commit0d6a794d856af0c681d497101ba6536045e5911a (patch)
tree6a72d866882cd5e998ee50bf8f7f21f46ca7d410
parent9a751419cfd600c474a3950012e06ea878afcc73 (diff)
downloadphp-git-0d6a794d856af0c681d497101ba6536045e5911a.tar.gz
Get rid of chval - it's really not necessary and seems to be confusing people
-rw-r--r--Zend/zend-parser.y10
-rw-r--r--Zend/zend-scanner.l30
-rw-r--r--Zend/zend.h1
-rw-r--r--Zend/zend_operators.c2
4 files changed, 21 insertions, 22 deletions
diff --git a/Zend/zend-parser.y b/Zend/zend-parser.y
index cff30e5fcc..27fe60c3dc 100644
--- a/Zend/zend-parser.y
+++ b/Zend/zend-parser.y
@@ -681,11 +681,11 @@ encaps_list:
| encaps_list T_ENCAPSED_AND_WHITESPACE { do_add_string(&$$, &$1, &$2 CLS_CC); }
| encaps_list T_CHARACTER { do_add_char(&$$, &$1, &$2 CLS_CC); }
| encaps_list T_BAD_CHARACTER { do_add_string(&$$, &$1, &$2 CLS_CC); }
- | encaps_list '[' { $2.u.constant.value.chval = '['; do_add_char(&$$, &$1, &$2 CLS_CC); }
- | encaps_list ']' { $2.u.constant.value.chval = ']'; do_add_char(&$$, &$1, &$2 CLS_CC); }
- | encaps_list '{' { $2.u.constant.value.chval = '{'; do_add_char(&$$, &$1, &$2 CLS_CC); }
- | encaps_list '}' { $2.u.constant.value.chval = '}'; do_add_char(&$$, &$1, &$2 CLS_CC); }
- | encaps_list T_OBJECT_OPERATOR { znode tmp; $2.u.constant.value.chval = '-'; do_add_char(&tmp, &$1, &$2 CLS_CC); $2.u.constant.value.chval = '>'; do_add_char(&$$, &tmp, &$2 CLS_CC); }
+ | encaps_list '[' { $2.u.constant.value.lval = (long) '['; do_add_char(&$$, &$1, &$2 CLS_CC); }
+ | encaps_list ']' { $2.u.constant.value.lval = (long) ']'; do_add_char(&$$, &$1, &$2 CLS_CC); }
+ | encaps_list '{' { $2.u.constant.value.lval = (long) '{'; do_add_char(&$$, &$1, &$2 CLS_CC); }
+ | encaps_list '}' { $2.u.constant.value.lval = (long) '}'; do_add_char(&$$, &$1, &$2 CLS_CC); }
+ | encaps_list T_OBJECT_OPERATOR { znode tmp; $2.u.constant.value.lval = (long) '-'; do_add_char(&tmp, &$1, &$2 CLS_CC); $2.u.constant.value.lval = (long) '>'; do_add_char(&$$, &tmp, &$2 CLS_CC); }
| /* empty */ { do_init_string(&$$ CLS_CC); }
;
diff --git a/Zend/zend-scanner.l b/Zend/zend-scanner.l
index 2df51dd6d7..b7d0e1fba9 100644
--- a/Zend/zend-scanner.l
+++ b/Zend/zend-scanner.l
@@ -1556,7 +1556,7 @@ ESCAPED_AND_WHITESPACE [\n\t\r #'.:;,()|^&+-/*=%!~<>?@]+
<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>"$"[^a-zA-Z_\x7f-\xff{] {
- zendlval->value.chval = yytext[0];
+ zendlval->value.lval = (long) yytext[0];
if (yyleng == 2) {
yyless(1);
/*unput(yytext[1]);
@@ -1568,12 +1568,12 @@ ESCAPED_AND_WHITESPACE [\n\t\r #'.:;,()|^&+-/*=%!~<>?@]+
<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>{ENCAPSED_TOKENS} {
- zendlval->value.chval = yytext[0];
+ zendlval->value.lval = (long) yytext[0];
return yytext[0];
}
<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>"{$" {
- zendlval->value.chval = yytext[0];
+ zendlval->value.lval = (long) yytext[0];
yy_push_state(ST_IN_SCRIPTING);
/*unput('$');*/
yyless(1);
@@ -1582,54 +1582,54 @@ ESCAPED_AND_WHITESPACE [\n\t\r #'.:;,()|^&+-/*=%!~<>?@]+
<ST_SINGLE_QUOTE>"\\'" {
- zendlval->value.chval='\'';
+ zendlval->value.lval = (long) '\'';
return T_CHARACTER;
}
<ST_SINGLE_QUOTE>"\\\\" {
- zendlval->value.chval='\\';
+ zendlval->value.lval = (long)'\\';
return T_CHARACTER;
}
<ST_DOUBLE_QUOTES>"\\\"" {
- zendlval->value.chval='"';
+ zendlval->value.lval = (long) '"';
return T_CHARACTER;
}
<ST_BACKQUOTE>"\\`" {
- zendlval->value.chval='`';
+ zendlval->value.lval = (long) '`';
return T_CHARACTER;
}
<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>"\\"[0-7]{1,3} {
- zendlval->value.chval = (char) strtol (yytext+1, NULL, 8);
+ zendlval->value.lval = strtol(yytext+1, NULL, 8);
return T_CHARACTER;
}
<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>"\\x"[0-9A-Fa-f]{1,2} {
- zendlval->value.chval = (char) strtol (yytext+2, NULL, 16);
+ zendlval->value.lval = strtol (yytext+2, NULL, 16);
return T_CHARACTER;
}
<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>"\\". {
switch (yytext[1]) {
case 'n':
- zendlval->value.chval='\n';
+ zendlval->value.lval = (long) '\n';
break;
case 't':
- zendlval->value.chval='\t';
+ zendlval->value.lval = (long) '\t';
break;
case 'r':
- zendlval->value.chval='\r';
+ zendlval->value.lval = (long) '\r';
break;
case '\\':
- zendlval->value.chval='\\';
+ zendlval->value.lval = (long) '\\';
break;
case '$':
- zendlval->value.chval=yytext[1];
+ zendlval->value.lval = (long) yytext[1];
break;
case '{':
- zendlval->value.chval=yytext[1];
+ zendlval->value.lval = (long) yytext[1];
break;
default:
zendlval->value.str.val = estrndup(yytext,yyleng);
diff --git a/Zend/zend.h b/Zend/zend.h
index 57a42c3341..1a173d68a2 100644
--- a/Zend/zend.h
+++ b/Zend/zend.h
@@ -159,7 +159,6 @@ typedef union _zvalue_value {
char *val;
int len;
} str;
- char chval; /* char value */
HashTable *ht; /* hash table value */
struct {
zend_class_entry *ce;
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c
index d8507924c9..cb641d8e04 100644
--- a/Zend/zend_operators.c
+++ b/Zend/zend_operators.c
@@ -880,7 +880,7 @@ ZEND_API int add_char_to_string(zval *result, zval *op1, zval *op2)
{
result->value.str.len = op1->value.str.len + 1;
result->value.str.val = (char *) erealloc(op1->value.str.val, result->value.str.len+1);
- result->value.str.val[result->value.str.len - 1] = op2->value.chval;
+ result->value.str.val[result->value.str.len - 1] = (char) op2->value.lval;
result->value.str.val[result->value.str.len] = 0;
result->type = IS_STRING;
return SUCCESS;