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