[PHP-CVS] cvs: php-src(PHP_5_2) /ext/standard var_unserializer.c var_unserializer.re

2009-03-17 Thread Felipe Pena
felipe  Tue Mar 17 23:10:13 2009 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/standard   var_unserializer.c var_unserializer.re 
  Log:
  - MFH: Year++
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/var_unserializer.c?r1=1.70.2.4.2.11r2=1.70.2.4.2.12diff_format=u
Index: php-src/ext/standard/var_unserializer.c
diff -u php-src/ext/standard/var_unserializer.c:1.70.2.4.2.11 
php-src/ext/standard/var_unserializer.c:1.70.2.4.2.12
--- php-src/ext/standard/var_unserializer.c:1.70.2.4.2.11   Tue Mar 17 
22:04:57 2009
+++ php-src/ext/standard/var_unserializer.c Tue Mar 17 23:10:13 2009
@@ -4,7 +4,7 @@
   +--+
   | PHP Version 5|
   +--+
-  | Copyright (c) 1997-2006 The PHP Group|
+  | Copyright (c) 1997-2009 The PHP Group|
   +--+
   | This source file is subject to version 3.01 of the PHP license,  |
   | that is bundled with this package in the file LICENSE, and is|
@@ -18,7 +18,7 @@
   +--+
 */
 
-/* $Id: var_unserializer.c,v 1.70.2.4.2.11 2009/03/17 22:04:57 mattwil Exp $ */
+/* $Id: var_unserializer.c,v 1.70.2.4.2.12 2009/03/17 23:10:13 felipe Exp $ */
 
 #include php.h
 #include ext/standard/php_var.h
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/var_unserializer.re?r1=1.52.2.2.2.9r2=1.52.2.2.2.10diff_format=u
Index: php-src/ext/standard/var_unserializer.re
diff -u php-src/ext/standard/var_unserializer.re:1.52.2.2.2.9 
php-src/ext/standard/var_unserializer.re:1.52.2.2.2.10
--- php-src/ext/standard/var_unserializer.re:1.52.2.2.2.9   Tue Mar 17 
22:04:57 2009
+++ php-src/ext/standard/var_unserializer.reTue Mar 17 23:10:13 2009
@@ -2,7 +2,7 @@
   +--+
   | PHP Version 5|
   +--+
-  | Copyright (c) 1997-2006 The PHP Group|
+  | Copyright (c) 1997-2009 The PHP Group|
   +--+
   | This source file is subject to version 3.01 of the PHP license,  |
   | that is bundled with this package in the file LICENSE, and is|
@@ -16,7 +16,7 @@
   +--+
 */
 
-/* $Id: var_unserializer.re,v 1.52.2.2.2.9 2009/03/17 22:04:57 mattwil Exp $ */
+/* $Id: var_unserializer.re,v 1.52.2.2.2.10 2009/03/17 23:10:13 felipe Exp $ */
 
 #include php.h
 #include ext/standard/php_var.h



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /ext/standard var_unserializer.c var_unserializer.re

2008-10-04 Thread Felipe Pena
felipe  Sat Oct  4 13:11:36 2008 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/standard   var_unserializer.c var_unserializer.re 
  Log:
  - Fixed compiler warning
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/var_unserializer.c?r1=1.70.2.4.2.9r2=1.70.2.4.2.10diff_format=u
Index: php-src/ext/standard/var_unserializer.c
diff -u php-src/ext/standard/var_unserializer.c:1.70.2.4.2.9 
php-src/ext/standard/var_unserializer.c:1.70.2.4.2.10
--- php-src/ext/standard/var_unserializer.c:1.70.2.4.2.9Wed Jul 16 
14:26:30 2008
+++ php-src/ext/standard/var_unserializer.c Sat Oct  4 13:11:36 2008
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Wed Jul 16 17:25:51 2008 */
+/* Generated by re2c 0.13.5 on Sat Oct  4 10:07:18 2008 */
 #line 1 ext/standard/var_unserializer.re
 /*
   +--+
@@ -18,7 +18,7 @@
   +--+
 */
 
-/* $Id: var_unserializer.c,v 1.70.2.4.2.9 2008/07/16 14:26:30 jani Exp $ */
+/* $Id: var_unserializer.c,v 1.70.2.4.2.10 2008/10/04 13:11:36 felipe Exp $ */
 
 #include php.h
 #include ext/standard/php_var.h
@@ -334,7 +334,7 @@
(*p) += 2;
 
if (datalen  0 || (*p) + datalen = max) {
-   zend_error(E_WARNING, Insufficient data for unserializing - 
%ld required, %ld present, datalen, max - (*p));
+   zend_error(E_WARNING, Insufficient data for unserializing - 
%ld required, %ld present, datalen, (long)(max - (*p)));
return 0;
}
 
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/var_unserializer.re?r1=1.52.2.2.2.7r2=1.52.2.2.2.8diff_format=u
Index: php-src/ext/standard/var_unserializer.re
diff -u php-src/ext/standard/var_unserializer.re:1.52.2.2.2.7 
php-src/ext/standard/var_unserializer.re:1.52.2.2.2.8
--- php-src/ext/standard/var_unserializer.re:1.52.2.2.2.7   Wed Mar 19 
03:00:40 2008
+++ php-src/ext/standard/var_unserializer.reSat Oct  4 13:11:36 2008
@@ -16,7 +16,7 @@
   +--+
 */
 
-/* $Id: var_unserializer.re,v 1.52.2.2.2.7 2008/03/19 03:00:40 felipe Exp $ */
+/* $Id: var_unserializer.re,v 1.52.2.2.2.8 2008/10/04 13:11:36 felipe Exp $ */
 
 #include php.h
 #include ext/standard/php_var.h
@@ -338,7 +338,7 @@
(*p) += 2;
 
if (datalen  0 || (*p) + datalen = max) {
-   zend_error(E_WARNING, Insufficient data for unserializing - 
%ld required, %ld present, datalen, max - (*p));
+   zend_error(E_WARNING, Insufficient data for unserializing - 
%ld required, %ld present, datalen, (long)(max - (*p)));
return 0;
}
 



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /ext/standard var_unserializer.c var_unserializer.re /ext/standard/tests/serialize unserializeS.phpt

2007-07-09 Thread Dmitry Stogov
dmitry  Mon Jul  9 14:31:56 2007 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/standard   var_unserializer.c var_unserializer.re 
/php-src/ext/standard/tests/serialize   unserializeS.phpt 
  Log:
  Proper fix for MOPB-29
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/var_unserializer.c?r1=1.70.2.4.2.5r2=1.70.2.4.2.6diff_format=u
Index: php-src/ext/standard/var_unserializer.c
diff -u php-src/ext/standard/var_unserializer.c:1.70.2.4.2.5 
php-src/ext/standard/var_unserializer.c:1.70.2.4.2.6
--- php-src/ext/standard/var_unserializer.c:1.70.2.4.2.5Tue Mar 27 
09:29:10 2007
+++ php-src/ext/standard/var_unserializer.c Mon Jul  9 14:31:56 2007
@@ -18,7 +18,7 @@
   +--+
 */
 
-/* $Id: var_unserializer.c,v 1.70.2.4.2.5 2007/03/27 09:29:10 tony2001 Exp $ */
+/* $Id: var_unserializer.c,v 1.70.2.4.2.6 2007/07/09 14:31:56 dmitry Exp $ */
 
 #include php.h
 #include ext/standard/php_var.h
@@ -140,18 +140,22 @@
 
 /* }}} */
 
-static char *unserialize_str(const unsigned char **p, size_t *len)
+static char *unserialize_str(const unsigned char **p, size_t *len, size_t 
maxlen)
 {
size_t i, j;
char *str = safe_emalloc(*len, 1, 1);
-   unsigned char *end = *(unsigned char **)p+*len;
+   unsigned char *end = *(unsigned char **)p+maxlen;
 
if(end  *p) {
efree(str);
return NULL;
}
 
-   for (i = 0; i  *len  *p  end; i++) {
+   for (i = 0; i  *len; i++) {
+   if (*p = end) {
+   efree(str);
+   return NULL;
+   }
if (**p != '\\') {
str[i] = (char)**p;
} else {
@@ -757,7 +761,7 @@
return 0;
}
 
-   if ((str = unserialize_str(YYCURSOR, len)) == NULL) {
+   if ((str = unserialize_str(YYCURSOR, len, maxlen)) == NULL) {
return 0;
}
 
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/var_unserializer.re?r1=1.52.2.2.2.3r2=1.52.2.2.2.4diff_format=u
Index: php-src/ext/standard/var_unserializer.re
diff -u php-src/ext/standard/var_unserializer.re:1.52.2.2.2.3 
php-src/ext/standard/var_unserializer.re:1.52.2.2.2.4
--- php-src/ext/standard/var_unserializer.re:1.52.2.2.2.3   Tue Mar 27 
09:29:10 2007
+++ php-src/ext/standard/var_unserializer.reMon Jul  9 14:31:56 2007
@@ -16,7 +16,7 @@
   +--+
 */
 
-/* $Id: var_unserializer.re,v 1.52.2.2.2.3 2007/03/27 09:29:10 tony2001 Exp $ 
*/
+/* $Id: var_unserializer.re,v 1.52.2.2.2.4 2007/07/09 14:31:56 dmitry Exp $ */
 
 #include php.h
 #include ext/standard/php_var.h
@@ -138,18 +138,22 @@
 
 /* }}} */
 
-static char *unserialize_str(const unsigned char **p, size_t *len)
+static char *unserialize_str(const unsigned char **p, size_t *len, size_t 
maxlen)
 {
size_t i, j;
char *str = safe_emalloc(*len, 1, 1);
-   unsigned char *end = *(unsigned char **)p+*len;
+   unsigned char *end = *(unsigned char **)p+maxlen;
 
if(end  *p) {
efree(str);
return NULL;
}
 
-   for (i = 0; i  *len  *p  end; i++) {
+   for (i = 0; i  *len; i++) {
+   if (*p = end) {
+   efree(str);
+   return NULL;
+   }
if (**p != '\\') {
str[i] = (char)**p;
} else {
@@ -525,7 +529,7 @@
return 0;
}
 
-   if ((str = unserialize_str(YYCURSOR, len)) == NULL) {
+   if ((str = unserialize_str(YYCURSOR, len, maxlen)) == NULL) {
return 0;
}
 
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/serialize/unserializeS.phpt?r1=1.1.2.1r2=1.1.2.2diff_format=u
Index: php-src/ext/standard/tests/serialize/unserializeS.phpt
diff -u php-src/ext/standard/tests/serialize/unserializeS.phpt:1.1.2.1 
php-src/ext/standard/tests/serialize/unserializeS.phpt:1.1.2.2
--- php-src/ext/standard/tests/serialize/unserializeS.phpt:1.1.2.1  Fri Mar 
23 20:15:22 2007
+++ php-src/ext/standard/tests/serialize/unserializeS.phpt  Mon Jul  9 
14:31:56 2007
@@ -11,4 +11,4 @@
 var_dump($data);
 
 --EXPECT--
-string(100) 

+bool(false)

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /ext/standard var_unserializer.c var_unserializer.re

2007-03-27 Thread Antony Dovgal
tony2001Tue Mar 27 09:29:10 2007 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/standard   var_unserializer.re var_unserializer.c 
  Log:
  MFH: fix compile warning
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/var_unserializer.re?r1=1.52.2.2.2.2r2=1.52.2.2.2.3diff_format=u
Index: php-src/ext/standard/var_unserializer.re
diff -u php-src/ext/standard/var_unserializer.re:1.52.2.2.2.2 
php-src/ext/standard/var_unserializer.re:1.52.2.2.2.3
--- php-src/ext/standard/var_unserializer.re:1.52.2.2.2.2   Fri Mar 23 
20:15:21 2007
+++ php-src/ext/standard/var_unserializer.reTue Mar 27 09:29:10 2007
@@ -16,7 +16,7 @@
   +--+
 */
 
-/* $Id: var_unserializer.re,v 1.52.2.2.2.2 2007/03/23 20:15:21 stas Exp $ */
+/* $Id: var_unserializer.re,v 1.52.2.2.2.3 2007/03/27 09:29:10 tony2001 Exp $ 
*/
 
 #include php.h
 #include ext/standard/php_var.h
@@ -142,7 +142,7 @@
 {
size_t i, j;
char *str = safe_emalloc(*len, 1, 1);
-   unsigned char *end = *p+*len;
+   unsigned char *end = *(unsigned char **)p+*len;
 
if(end  *p) {
efree(str);
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/var_unserializer.c?r1=1.70.2.4.2.4r2=1.70.2.4.2.5diff_format=u
Index: php-src/ext/standard/var_unserializer.c
diff -u php-src/ext/standard/var_unserializer.c:1.70.2.4.2.4 
php-src/ext/standard/var_unserializer.c:1.70.2.4.2.5
--- php-src/ext/standard/var_unserializer.c:1.70.2.4.2.4Fri Mar 23 
20:28:40 2007
+++ php-src/ext/standard/var_unserializer.c Tue Mar 27 09:29:10 2007
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.11.0 on Fri Mar 23 20:26:08 2007 */
+/* Generated by re2c 0.11.2 on Tue Mar 27 13:17:43 2007 */
 #line 1 ext/standard/var_unserializer.re
 /*
   +--+
@@ -18,7 +18,7 @@
   +--+
 */
 
-/* $Id: var_unserializer.c,v 1.70.2.4.2.4 2007/03/23 20:28:40 nlopess Exp $ */
+/* $Id: var_unserializer.c,v 1.70.2.4.2.5 2007/03/27 09:29:10 tony2001 Exp $ */
 
 #include php.h
 #include ext/standard/php_var.h
@@ -144,7 +144,7 @@
 {
size_t i, j;
char *str = safe_emalloc(*len, 1, 1);
-   unsigned char *end = *p+*len;
+   unsigned char *end = *(unsigned char **)p+*len;
 
if(end  *p) {
efree(str);
@@ -394,7 +394,7 @@


 {
-   static unsigned char yybm[] = {
+   static const unsigned char yybm[] = {
  0,   0,   0,   0,   0,   0,   0,   0, 
  0,   0,   0,   0,   0,   0,   0,   0, 
  0,   0,   0,   0,   0,   0,   0,   0, 

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /ext/standard var_unserializer.c var_unserializer.re /ext/standard/tests/serialize unserializeS.phpt

2007-03-23 Thread Stanislav Malyshev
stasFri Mar 23 20:15:22 2007 UTC

  Added files: (Branch: PHP_5_2)
/php-src/ext/standard/tests/serialize   unserializeS.phpt 

  Modified files:  
/php-src/ext/standard   var_unserializer.c var_unserializer.re 
  Log:
  fix MOPB-29 - unserialize modifier S does not calculate length correctly
  # reported by Stefan Esser
  
  http://cvs.php.net/viewvc.cgi/php-src/ext/standard/var_unserializer.c?r1=1.70.2.4.2.2r2=1.70.2.4.2.3diff_format=u
Index: php-src/ext/standard/var_unserializer.c
diff -u php-src/ext/standard/var_unserializer.c:1.70.2.4.2.2 
php-src/ext/standard/var_unserializer.c:1.70.2.4.2.3
--- php-src/ext/standard/var_unserializer.c:1.70.2.4.2.2Mon Jan  1 
09:36:09 2007
+++ php-src/ext/standard/var_unserializer.c Fri Mar 23 20:15:21 2007
@@ -1,10 +1,10 @@
-/* Generated by re2c 0.9.12 on Thu Dec 14 15:59:31 2006 */
+/* Generated by re2c 0.11.2 on Fri Mar 23 13:13:16 2007 */
 #line 1 ext/standard/var_unserializer.re
 /*
   +--+
   | PHP Version 5|
   +--+
-  | Copyright (c) 1997-2007 The PHP Group|
+  | Copyright (c) 1997-2006 The PHP Group|
   +--+
   | This source file is subject to version 3.01 of the PHP license,  |
   | that is bundled with this package in the file LICENSE, and is|
@@ -18,7 +18,7 @@
   +--+
 */
 
-/* $Id: var_unserializer.c,v 1.70.2.4.2.2 2007/01/01 09:36:09 sebastian Exp $ 
*/
+/* $Id: var_unserializer.c,v 1.70.2.4.2.3 2007/03/23 20:15:21 stas Exp $ */
 
 #include php.h
 #include ext/standard/php_var.h
@@ -140,12 +140,18 @@
 
 /* }}} */
 
-static char *unserialize_str(const unsigned char **p, int len)
+static char *unserialize_str(const unsigned char **p, size_t *len)
 {
-   int i, j;
-   char *str = emalloc(len+1);
+   size_t i, j;
+   char *str = safe_emalloc(*len, 1, 1);
+   unsigned char *end = *p+*len;
 
-   for (i = 0; i  len; i++) {
+   if(end  *p) {
+   efree(str);
+   return NULL;
+   }
+
+   for (i = 0; i  *len  *p  end; i++) {
if (**p != '\\') {
str[i] = (char)**p;
} else {
@@ -169,6 +175,7 @@
(*p)++;
}
str[i] = 0;
+   *len = i;
return str;
 }
 
@@ -179,7 +186,7 @@
 #define YYMARKER marker
 
 
-#line 187 ext/standard/var_unserializer.re
+#line 194 ext/standard/var_unserializer.re
 
 
 
@@ -386,53 +393,16 @@
 


-{
-   static unsigned char yybm[] = {
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
-   128, 128, 128, 128, 128, 128, 128, 128, 
-   128, 128,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
- 0,   0,   0,   0,   0,   0,   0,   0, 
-   };
 
-#line 426 ext/standard/var_unserializer.c
+#line 398 stdout
 {
YYCTYPE yych;
-   unsigned int yyaccept = 0;
-   goto yy0;
-   ++YYCURSOR;
-yy0:
+
if((YYLIMIT - YYCURSOR)  7) YYFILL(7);
yych = *YYCURSOR;
-   switch(yych){
-   case 'C':   case 'O':   goto yy13;
+   switch(yych) {
+   case 'C':
+   case 'O':   goto yy13;
case 'N':   goto yy5;
case 'R':   goto yy2;
case 'S':   goto yy10;
@@ -446,97 +416,150 @@
case '}':   

[PHP-CVS] cvs: php-src(PHP_5_2) /ext/standard var_unserializer.c var_unserializer.re

2006-12-14 Thread Andrei Zmievski
andrei  Fri Dec 15 00:58:08 2006 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/standard   var_unserializer.c var_unserializer.re 
  Log:
  Support for 'S' format in unserialize() (forward compatibility with PHP
  6)
  
  http://cvs.php.net/viewvc.cgi/php-src/ext/standard/var_unserializer.c?r1=1.70.2.4r2=1.70.2.4.2.1diff_format=u
Index: php-src/ext/standard/var_unserializer.c
diff -u php-src/ext/standard/var_unserializer.c:1.70.2.4 
php-src/ext/standard/var_unserializer.c:1.70.2.4.2.1
--- php-src/ext/standard/var_unserializer.c:1.70.2.4Sun Jan  1 12:50:16 2006
+++ php-src/ext/standard/var_unserializer.c Fri Dec 15 00:58:08 2006
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.9.11 on Sun Jan  1 14:39:32 2006 */
+/* Generated by re2c 0.9.12 on Thu Dec 14 15:59:31 2006 */
 #line 1 ext/standard/var_unserializer.re
 /*
   +--+
@@ -18,7 +18,7 @@
   +--+
 */
 
-/* $Id: var_unserializer.c,v 1.70.2.4 2006/01/01 12:50:16 sniper Exp $ */
+/* $Id: var_unserializer.c,v 1.70.2.4.2.1 2006/12/15 00:58:08 andrei Exp $ */
 
 #include php.h
 #include ext/standard/php_var.h
@@ -140,6 +140,38 @@
 
 /* }}} */
 
+static char *unserialize_str(const unsigned char **p, int len)
+{
+   int i, j;
+   char *str = emalloc(len+1);
+
+   for (i = 0; i  len; i++) {
+   if (**p != '\\') {
+   str[i] = (char)**p;
+   } else {
+   unsigned char ch = 0;
+
+   for (j = 0; j  2; j++) {
+   (*p)++;
+   if (**p = '0'  **p = '9') {
+   ch = (ch  4) + (**p -'0');
+   } else if (**p = 'a'  **p = 'f') {
+   ch = (ch  4) + (**p -'a'+10);
+   } else if (**p = 'A'  **p = 'F') {
+   ch = (ch  4) + (**p -'A'+10);
+   } else {
+   efree(str);
+   return NULL;
+   }
+   }
+   str[i] = (char)ch;
+   }
+   (*p)++;
+   }
+   str[i] = 0;
+   return str;
+}
+
 #define YYFILL(n) do { } while (0)
 #define YYCTYPE unsigned char
 #define YYCURSOR cursor
@@ -147,7 +179,7 @@
 #define YYMARKER marker
 
 
-#line 155 ext/standard/var_unserializer.re
+#line 187 ext/standard/var_unserializer.re
 
 
 
@@ -390,7 +422,7 @@
  0,   0,   0,   0,   0,   0,   0,   0, 
};
 
-#line 394 ext/standard/var_unserializer.c
+#line 426 ext/standard/var_unserializer.c
 {
YYCTYPE yych;
unsigned int yyaccept = 0;
@@ -400,105 +432,110 @@
if((YYLIMIT - YYCURSOR)  7) YYFILL(7);
yych = *YYCURSOR;
switch(yych){
-   case 'C':   case 'O':   goto yy12;
+   case 'C':   case 'O':   goto yy13;
case 'N':   goto yy5;
case 'R':   goto yy2;
-   case 'a':   goto yy10;
+   case 'S':   goto yy10;
+   case 'a':   goto yy11;
case 'b':   goto yy6;
case 'd':   goto yy8;
case 'i':   goto yy7;
-   case 'o':   goto yy11;
+   case 'o':   goto yy12;
case 'r':   goto yy4;
case 's':   goto yy9;
-   case '}':   goto yy13;
-   default:goto yy15;
+   case '}':   goto yy14;
+   default:goto yy16;
}
 yy2:   yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
-   if(yych == ':') goto yy87;
+   if(yych == ':') goto yy95;
goto yy3;
 yy3:
-#line 626 ext/standard/var_unserializer.re
+#line 687 ext/standard/var_unserializer.re
 { return 0; }
-#line 424 ext/standard/var_unserializer.c
+#line 457 ext/standard/var_unserializer.c
 yy4:   yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
-   if(yych == ':') goto yy81;
+   if(yych == ':') goto yy89;
goto yy3;
 yy5:   yych = *++YYCURSOR;
-   if(yych == ';') goto yy79;
+   if(yych == ';') goto yy87;
goto yy3;
 yy6:   yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
-   if(yych == ':') goto yy75;
+   if(yych == ':') goto yy83;
goto yy3;
 yy7:   yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
-   if(yych == ':') goto yy69;
+   if(yych == ':') goto yy77;
goto yy3;
 yy8:   yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
-   if(yych == ':') goto yy45;
+   if(yych == ':') goto yy53;
goto yy3;
 yy9:   yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
-   if(yych == ':') goto yy38;
+   if(yych == ':') goto yy46;
goto yy3;
 yy10:  yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
-   if(yych == ':') goto yy31;
+