Skip to content

Commit

Permalink
php7 support
Browse files Browse the repository at this point in the history
  • Loading branch information
chiyou committed Feb 12, 2015
1 parent f72a4f4 commit f23da14
Show file tree
Hide file tree
Showing 23 changed files with 791 additions and 859 deletions.
16 changes: 6 additions & 10 deletions packagers/json.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,26 +28,22 @@
#include "ext/json/php_json.h"
#include "yar_packager.h"

int php_yar_packager_json_pack(yar_packager_t *self, zval *pzval, smart_str *buf, char **msg TSRMLS_DC) /* {{{ */ {
int php_yar_packager_json_pack(yar_packager_t *self, zval *pzval, smart_str *buf, char **msg) /* {{{ */ {
#if ((PHP_MAJOR_VERSION == 5) && (PHP_MINOR_VERSION < 3))
php_json_encode(buf, pzval TSRMLS_CC);
php_json_encode(buf, pzval);
#else
php_json_encode(buf, pzval, 0 TSRMLS_CC); /* options */
php_json_encode(buf, pzval, 0); /* options */
#endif

return 1;
} /* }}} */

zval * php_yar_packager_json_unpack(yar_packager_t *self, char *content, size_t len, char **msg TSRMLS_DC) /* {{{ */ {
zval * php_yar_packager_json_unpack(yar_packager_t *self, char *content, size_t len, char **msg, zval *rret) /* {{{ */ {
zval *return_value;
MAKE_STD_ZVAL(return_value);

#if ((PHP_MAJOR_VERSION == 5) && (PHP_MINOR_VERSION < 3))
php_json_decode(return_value, content, len, 1 TSRMLS_CC);
#else
php_json_decode(return_value, content, len, 1, 512 TSRMLS_CC);
#endif
php_json_decode(rret, content, len, 1, 512);

return_value = rret;
return return_value;
} /* }}} */

Expand Down
16 changes: 8 additions & 8 deletions packagers/msgpack.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,19 +29,19 @@
#include "php_yar.h"
#include "yar_packager.h"

extern void php_msgpack_serialize(smart_str *buf, zval *val TSRMLS_DC);
extern void php_msgpack_unserialize(zval *return_value, char *str, size_t str_len TSRMLS_DC);
extern void php_msgpack_serialize(smart_str *buf, zval *val);
extern void php_msgpack_unserialize(zval *return_value, char *str, size_t str_len);

int php_yar_packager_msgpack_pack(yar_packager_t *self, zval *pzval, smart_str *buf, char **msg TSRMLS_DC) /* {{{ */ {
php_msgpack_serialize(buf, pzval TSRMLS_CC);
int php_yar_packager_msgpack_pack(yar_packager_t *self, zval *pzval, smart_str *buf, char **msg) /* {{{ */ {
php_msgpack_serialize(buf, pzval);
return 1;
} /* }}} */

zval * php_yar_packager_msgpack_unpack(yar_packager_t *self, char *content, size_t len, char **msg TSRMLS_DC) /* {{{ */ {
zval * php_yar_packager_msgpack_unpack(yar_packager_t *self, char *content, size_t len, char **msg, zval *rret) /* {{{ */ {
zval *return_value;
MAKE_STD_ZVAL(return_value);
ZVAL_NULL(return_value);
php_msgpack_unserialize(return_value, content, len TSRMLS_CC);
ZVAL_NULL(rret);
php_msgpack_unserialize(rret, content, len);
return_value = rret;
return return_value;
} /* }}} */

Expand Down
12 changes: 6 additions & 6 deletions packagers/php.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,32 +28,32 @@
#include "yar_packager.h"
#include "ext/standard/php_var.h" /* for serialize */

int php_yar_packager_php_pack(yar_packager_t *self, zval *pzval, smart_str *buf, char **msg TSRMLS_DC) /* {{{ */ {
int php_yar_packager_php_pack(yar_packager_t *self, zval *pzval, smart_str *buf, char **msg) /* {{{ */ {
php_serialize_data_t var_hash;

PHP_VAR_SERIALIZE_INIT(var_hash);
php_var_serialize(buf, &pzval, &var_hash TSRMLS_CC);
php_var_serialize(buf, pzval, &var_hash);
PHP_VAR_SERIALIZE_DESTROY(var_hash);

return 1;
} /* }}} */

zval * php_yar_packager_php_unpack(yar_packager_t *self, char *content, size_t len, char **msg TSRMLS_DC) /* {{{ */ {
zval * php_yar_packager_php_unpack(yar_packager_t *self, char *content, size_t len, char **msg, zval *rret) /* {{{ */ {
zval *return_value;
const unsigned char *p;
php_unserialize_data_t var_hash;
p = (const unsigned char*)content;

MAKE_STD_ZVAL(return_value);
PHP_VAR_UNSERIALIZE_INIT(var_hash);
if (!php_var_unserialize(&return_value, &p, p + len, &var_hash TSRMLS_CC)) {
zval_ptr_dtor(&return_value);
if (!php_var_unserialize(rret, &p, p + len, &var_hash)) {
zval_ptr_dtor(rret);
PHP_VAR_UNSERIALIZE_DESTROY(var_hash);
spprintf(msg, 0, "unpack error at offset %ld of %ld bytes", (long)((char*)p - content), len);
return NULL;
}
PHP_VAR_UNSERIALIZE_DESTROY(var_hash);

return_value = rret;
return return_value;
} /* }}} */

Expand Down
2 changes: 1 addition & 1 deletion php_yar.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ extern zend_module_entry yar_module_entry;
#include "TSRM.h"
#endif

#define PHP_YAR_VERSION "1.2.2-dev"
#define PHP_YAR_VERSION "1.2.5-dev"

PHP_MINIT_FUNCTION(yar);
PHP_MSHUTDOWN_FUNCTION(yar);
Expand Down
Loading

0 comments on commit f23da14

Please sign in to comment.