sas             Tue Dec  3 19:19:52 2002 EDT

  Modified files:              
    /php4/ext/ircg      ircg.c 
  Log:
  restore inline allocation of write buffer
  
  
Index: php4/ext/ircg/ircg.c
diff -u php4/ext/ircg/ircg.c:1.152 php4/ext/ircg/ircg.c:1.153
--- php4/ext/ircg/ircg.c:1.152  Tue Dec  3 16:50:12 2002
+++ php4/ext/ircg/ircg.c        Tue Dec  3 19:19:51 2002
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: ircg.c,v 1.152 2002/12/03 21:50:12 sas Exp $ */
+/* $Id: ircg.c,v 1.153 2002/12/04 00:19:51 sas Exp $ */
 
 /* {{{ includes */
 
@@ -190,10 +190,7 @@
        struct sockaddr_in sin; /* address of stream conn */
 #endif
        php_fmt_msgs_t *fmt_msgs;
-#if IRCG_API_VERSION < 20021127
        irc_write_buf wb;
-#endif
-       irc_write_buf *wbp;
        ircg_hash_table ctcp_msgs;
        
 #ifdef IRCG_PENDING_URL
@@ -363,8 +360,8 @@
                if (is_my_conn(conn))
                        shutdown(conn->fd, 2);
 #endif
-               if (conn->file_fd == -1 && conn->fd >= 0)
-                       irc_write_buf_del(conn->wbp);
+               if (conn->file_fd == -1)
+                       irc_write_buf_del(&conn->wb);
        }
        if (conn->file_fd != -1) {
                smart_str m = {0};
@@ -466,7 +463,7 @@
                goto done;
        default:
 #if IRCG_API_VERSION - 0 >= 20010601
-               if ((n = irc_write_buf_append_ex(conn->wbp, msg, 0))) {
+               if ((n = irc_write_buf_append_ex(&conn->wb, msg, 0))) {
                        const char *reason;
                
 #if IRCG_API_VERSION - 0 >= 20020308   
@@ -494,10 +491,10 @@
                }
                return;
 #elif IRCG_API_VERSION - 0 >= 20010302
-               irc_write_buf_append_ex(conn->wbp, msg, 0); /* no copy */
+               irc_write_buf_append_ex(&conn->wb, msg, 0); /* no copy */
                return;
 #else
-               irc_write_buf_append(conn->wbp, msg);
+               irc_write_buf_append(&conn->wb, msg);
                goto done;
 #endif
                break;
@@ -512,7 +509,7 @@
 {
        msg_accum_send(conn, msg);
        if (conn->fd >= 0 && conn->file_fd == -1)
-               irc_write_buf_flush(conn->wbp);
+               irc_write_buf_flush(&conn->wb);
 }
 
 static void msg_replay_buffer(php_irconn_t *conn)
@@ -895,8 +892,8 @@
                smart_str tmp = {0};
 
                smart_str_setl(&tmp, "  ", 2);
-               irc_write_buf_append_ex(conn->wbp, &tmp, 1);
-               irc_write_buf_flush(conn->wbp);
+               irc_write_buf_append_ex(&conn->wb, &tmp, 1);
+               irc_write_buf_flush(&conn->wb);
        } else if (conn->file_fd < 0 
                        && (php_ircg_now() - conn->login) > WINDOW_TIMEOUT) {
                char buf[1024];
@@ -1079,7 +1076,7 @@
                ircg_hash_index_del(&h_fd2irconn, conn->fd);
 #endif
                if (conn->file_fd == -1)
-                       irc_write_buf_del(conn->wbp);
+                       irc_write_buf_del(&conn->wb);
                conn->fd = -1;
        }
        
@@ -1099,18 +1096,14 @@
                                sizeof(int), NULL);
 #endif
                if (conn->file_fd == -1 && conn->fd >= 0) {
-#if IRCG_API_VERSION < 20021127
-                       conn->wbp = &conn->wb;
-                       irc_write_buf_add(conn->wbp, conn->fd);
-#else
-                       conn->wbp = IRCG_SHARED_ALLOC(sizeof(irc_write_buf));
-                       irc_write_buf_add_ex(conn->wbp, conn->fd, wbuf_destruct);
-#endif
-                       
-                       php_ircg->irc_set_currents++;
-                       IRCGG(flush_data) = conn;
+                       if (irc_write_buf_add(&conn->wb, conn->fd) == 0) {
+                               php_ircg->irc_set_currents++;
+                               IRCGG(flush_data) = conn;
+                               RETVAL_TRUE;
+                       } else {
+                               RETVAL_FALSE;
+                       }
                }
-               RETVAL_TRUE;
        }
        put_irconn(conn);
 }
@@ -2082,7 +2075,7 @@
 #endif
 
                msg_replay_buffer(conn);
-               irc_write_buf_flush(conn->wbp);
+               irc_write_buf_flush(&conn->wb);
        }
 
        return SUCCESS;



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

Reply via email to