|
68 | 68 | #define MEMC_VAL_COMPRESSED (1<<1) |
69 | 69 | #define MEMC_VAL_IS_LONG (1<<2) |
70 | 70 | #define MEMC_VAL_IS_DOUBLE (1<<3) |
71 | | -#define MEMC_VAL_IGBINARY (1<<4) |
| 71 | +#define MEMC_VAL_IS_BOOL (1<<4) |
| 72 | +#define MEMC_VAL_IGBINARY (1<<5) |
72 | 73 |
|
73 | 74 | #define MEMC_COMPRESS_THRESHOLD 100 |
74 | 75 |
|
@@ -1858,6 +1859,8 @@ static char *php_memc_zval_to_payload(zval *value, size_t *payload_len, uint32_t |
1858 | 1859 | *flags |= MEMC_VAL_IS_LONG; |
1859 | 1860 | } else if (Z_TYPE_P(value) == IS_DOUBLE) { |
1860 | 1861 | *flags |= MEMC_VAL_IS_DOUBLE; |
| 1862 | + } else if (Z_TYPE_P(value) == IS_BOOL) { |
| 1863 | + *flags |= MEMC_VAL_IS_BOOL; |
1861 | 1864 | } |
1862 | 1865 | break; |
1863 | 1866 | } |
@@ -2000,6 +2003,9 @@ static int php_memc_zval_from_payload(zval *value, char *payload, size_t payload |
2000 | 2003 | } else if (flags & MEMC_VAL_IS_DOUBLE) { |
2001 | 2004 | double dval = zend_strtod(payload, NULL); |
2002 | 2005 | ZVAL_DOUBLE(value, dval); |
| 2006 | + } else if (flags & MEMC_VAL_IS_BOOL) { |
| 2007 | + long bval = strtol(payload, NULL, 10); |
| 2008 | + ZVAL_BOOL(value, bval); |
2003 | 2009 | } else { |
2004 | 2010 | ZVAL_STRINGL(value, payload, payload_len, 1); |
2005 | 2011 | } |
|
0 commit comments