Changeset 417

Show
Ignore:
Timestamp:
09/25/06 17:09:08 (2 years ago)
Author:
alo
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • cherokee/trunk/cherokee/buffer.c

    r405 r417  
    175175{ 
    176176        return cherokee_buffer_add (buf, buf2->buf, buf2->len); 
     177} 
     178 
     179 
     180ret_t  
     181cherokee_buffer_add_va_fixed (cherokee_buffer_t  *buf, char *format, ...) 
     182{ 
     183        cuint_t len; 
     184        va_list ap; 
     185 
     186        va_start (ap, format); 
     187        len = vsnprintf (buf->buf + buf->len, buf->size - buf->len -1, format, ap); 
     188        va_end (ap); 
     189 
     190        if (unlikely (len < 0))  
     191                return ret_error; 
     192 
     193        buf->len += len; 
     194        return ret_ok; 
    177195} 
    178196 
  • cherokee/trunk/cherokee/buffer.h

    r409 r417  
    7070ret_t cherokee_buffer_add                (cherokee_buffer_t  *buf, char *txt, size_t size); 
    7171ret_t cherokee_buffer_add_va             (cherokee_buffer_t  *buf, char *format, ...); 
     72ret_t cherokee_buffer_add_va_fixed       (cherokee_buffer_t  *buf, char *format, ...); 
    7273ret_t cherokee_buffer_add_va_list        (cherokee_buffer_t  *buf, char *format, va_list args); 
    7374ret_t cherokee_buffer_add_char_n         (cherokee_buffer_t  *buf, char c, int n); 
  • cherokee/trunk/cherokee/server.c

    r415 r417  
    170170        CHEROKEE_RWLOCK_WRITER (&n->bogo_now_mutex); 
    171171        cherokee_buffer_init (&n->bogo_now_string); 
    172         cherokee_buffer_ensure_size (&n->bogo_now_string, 100);  
     172        cherokee_buffer_ensure_size (&n->bogo_now_string,  
     173                                     sizeof("Sun, 01 Sep 2006 00:00:00 GMT+1") + 2);     
    173174        CHEROKEE_RWLOCK_UNLOCK (&n->bogo_now_mutex); 
    174175 
     
    11151116 
    11161117                        cherokee_buffer_clean  (&srv->bogo_now_string); 
    1117                         cherokee_buffer_add_va (&srv->bogo_now_string, 
    1118                                                 "%s, %02d %s %d %02d:%02d:%02d GMT%c%d", 
    1119                                                 cherokee_weekdays[srv->bogo_now_tm.tm_wday],  
    1120                                                 srv->bogo_now_tm.tm_mday, 
    1121                                                 cherokee_months[srv->bogo_now_tm.tm_mon],  
    1122                                                 srv->bogo_now_tm.tm_year + 1900, 
    1123                                                 srv->bogo_now_tm.tm_hour, 
    1124                                                 srv->bogo_now_tm.tm_min, 
    1125                                                 srv->bogo_now_tm.tm_sec, 
    1126                                                 srv->bogo_now_tm.tm_gmtoff < 0 ? '-' : '+', 
    1127                                                 abs(srv->bogo_now_tm.tm_gmtoff / 3600)); 
     1118                        cherokee_buffer_add_va_fixed (&srv->bogo_now_string, 
     1119                                                      "%s, %02d %s %d %02d:%02d:%02d GMT%c%d", 
     1120                                                      cherokee_weekdays[srv->bogo_now_tm.tm_wday],  
     1121                                                      srv->bogo_now_tm.tm_mday, 
     1122                                                      cherokee_months[srv->bogo_now_tm.tm_mon],  
     1123                                                      srv->bogo_now_tm.tm_year + 1900, 
     1124                                                      srv->bogo_now_tm.tm_hour, 
     1125                                                      srv->bogo_now_tm.tm_min, 
     1126                                                      srv->bogo_now_tm.tm_sec, 
     1127                                                      srv->bogo_now_tm.tm_gmtoff < 0 ? '-' : '+', 
     1128                                                      abs(srv->bogo_now_tm.tm_gmtoff / 3600)); 
    11281129                } 
    11291130        }