sas Fri May 30 07:41:29 2003 EDT Modified files: /php4/ext/ircg ircg.c php_ircg_tokenizer.c php_ircg_tokenizer.h Log: Format messages can handle NUL bytes now Index: php4/ext/ircg/ircg.c diff -u php4/ext/ircg/ircg.c:1.186 php4/ext/ircg/ircg.c:1.187 --- php4/ext/ircg/ircg.c:1.186 Tue Apr 29 05:58:31 2003 +++ php4/ext/ircg/ircg.c Fri May 30 07:41:29 2003 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: ircg.c,v 1.186 2003/04/29 09:58:31 sas Exp $ */ +/* $Id: ircg.c,v 1.187 2003/05/30 11:41:29 sas Exp $ */ /* {{{ includes */ @@ -1716,9 +1716,9 @@ fmt_msgs->fmt_msgs[i] = 0; if (zend_hash_index_find(h, i, (void **) &arg) == SUCCESS) { convert_to_string_ex(arg); - php_ircg_token_compiler(Z_STRVAL_PP(arg), &fmt_msgs->fmt_msgs[i]); + php_ircg_token_compiler(Z_STRVAL_PP(arg), Z_STRLEN_PP(arg), &fmt_msgs->fmt_msgs[i]); } else - php_ircg_token_compiler("", &fmt_msgs->fmt_msgs[i]); + php_ircg_token_compiler("", 0, &fmt_msgs->fmt_msgs[i]); } IRCG_LOCK_GET(php_ircg->fmt_msgs_lock); @@ -1917,7 +1917,7 @@ zend_hash_get_current_data_ex(Z_ARRVAL_PP(array), (void **) &val, &pos); convert_to_string_ex(val); fmt = 0; - php_ircg_token_compiler(Z_STRVAL_PP(val), &fmt); + php_ircg_token_compiler(Z_STRVAL_PP(val), Z_STRLEN_PP(val), &fmt); ircg_hash_add(&conn->ctcp_msgs, str, str_len - 1, &fmt, sizeof(fmt), NULL); @@ -2369,7 +2369,7 @@ IRCG_LOCK_INIT(php_ircg->error_msgs_lock); for (i = 0; i < NO_FMTS; i++) { - php_ircg_token_compiler(fmt_msgs_default[i], &php_ircg->fmt_msgs_default_compiled.fmt_msgs[i]); + php_ircg_token_compiler(fmt_msgs_default[i], strlen(fmt_msgs_default[i]), &php_ircg->fmt_msgs_default_compiled.fmt_msgs[i]); } return 0; } Index: php4/ext/ircg/php_ircg_tokenizer.c diff -u php4/ext/ircg/php_ircg_tokenizer.c:1.3 php4/ext/ircg/php_ircg_tokenizer.c:1.4 --- php4/ext/ircg/php_ircg_tokenizer.c:1.3 Wed Apr 23 00:02:10 2003 +++ php4/ext/ircg/php_ircg_tokenizer.c Fri May 30 07:41:29 2003 @@ -36,7 +36,7 @@ -void php_ircg_token_compiler(const char *fmt, format_msg_t **fp) +void php_ircg_token_compiler(const char *fmt, size_t fmtlen, format_msg_t **fp) { const char *p, *pe; const char *q; @@ -56,7 +56,7 @@ } p = fmt; - pe = fmt + strlen(p); + pe = fmt + fmtlen; do { q = p; Index: php4/ext/ircg/php_ircg_tokenizer.h diff -u php4/ext/ircg/php_ircg_tokenizer.h:1.4 php4/ext/ircg/php_ircg_tokenizer.h:1.5 --- php4/ext/ircg/php_ircg_tokenizer.h:1.4 Wed Apr 23 00:02:10 2003 +++ php4/ext/ircg/php_ircg_tokenizer.h Fri May 30 07:41:29 2003 @@ -50,7 +50,7 @@ #define NR_CACHE_ENTRIES 24 -void php_ircg_token_compiler(const char *fmt, format_msg_t **fp); +void php_ircg_token_compiler(const char *fmt, size_t len, format_msg_t **fp); void php_ircg_format_msg(const format_msg_t *fmt_msg, smart_str *channel, smart_str *to, smart_str *from, smart_str *msg, smart_str *result, const char *username, int username_len, int *status);
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php