Changeset 1768

Show
Ignore:
Timestamp:
08/07/08 18:07:23 (4 months ago)
Author:
alo
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • cherokee/trunk/ChangeLog

    r1766 r1768  
    112008-08-07  Alvaro Lopez Ortega  <alvaro@alobbs.com> 
     2 
     3        * cherokee/util.h, cherokee/util.c (cherokee_mkdir_p): Adds a new 
     4        function. We will need it eventually. 
    25 
    36        * cherokee/handler_error_nn.c, cherokee/handler_error_nn.h, 
  • cherokee/trunk/cherokee/encoder.c

    r1131 r1768  
    5656cherokee_encoder_add_headers (cherokee_encoder_t *enc, cherokee_buffer_t *buf) 
    5757{ 
    58         if (enc->add_headers == NULL)  
     58        if (unlikely (enc->add_headers == NULL)) 
    5959                return ret_error; 
    6060 
     
    6767{ 
    6868        encoder_func_init_t init_func; 
     69         
     70        /* Properties 
     71         */ 
     72        enc->conn = conn; 
    6973 
    70         enc->conn = conn; 
    71         init_func = (encoder_func_init_t) MODULE(enc)->init; 
    72                
    73         if (init_func == NULL)  
     74        /* Call the virtual method 
     75        */ 
     76        init_func = (encoder_func_init_t) MODULE(enc)->init;           
     77        if (init_func == NULL) 
    7478                return ret_error; 
    7579 
     
    8387                         cherokee_buffer_t  *out) 
    8488{ 
    85         if (enc->encode == NULL)  
     89        if (unlikely (enc->encode == NULL)) 
    8690                return ret_error; 
    8791 
     
    9599                        cherokee_buffer_t  *out) 
    96100{ 
    97         if (enc->flush == NULL)  
     101        if (unlikely (enc->flush == NULL)) 
    98102                return ret_error; 
    99103 
  • cherokee/trunk/cherokee/util.c

    r1759 r1768  
    13551355        return ret_ok; 
    13561356} 
     1357 
     1358 
     1359ret_t 
     1360cherokee_mkdir_p (cherokee_buffer_t *path) 
     1361{ 
     1362        int   re; 
     1363        char *p; 
     1364 
     1365        if (cherokee_buffer_is_empty (path)) 
     1366                return ret_ok; 
     1367 
     1368        p = path->buf; 
     1369        while (true) { 
     1370                p = strchr (p+1, '/'); 
     1371                if (p == NULL) 
     1372                        break; 
     1373 
     1374                *p = '\0'; 
     1375                re = mkdir (path->buf, 0700); 
     1376                if ((re != 0) && (errno != EEXIST)) { 
     1377                        PRINT_ERRNO (errno, "Could not mkdir '%s': ${errno}\n", path->buf); 
     1378                        return ret_error; 
     1379                } 
     1380                *p = '/'; 
     1381                 
     1382                p++; 
     1383                if (p > path->buf + path->len) 
     1384                        return ret_ok; 
     1385        } 
     1386 
     1387        re = mkdir (path->buf, 0700); 
     1388        if ((re != 0) && (errno != EEXIST)) { 
     1389                PRINT_ERRNO (errno, "Could not mkdir '%s': ${errno}\n", path->buf); 
     1390                return ret_error; 
     1391        } 
     1392         
     1393        return ret_ok; 
     1394} 
  • cherokee/trunk/cherokee/util.h

    r1759 r1768  
    105105ret_t cherokee_getgrnam      (const char *name, struct group *pwbuf, char *buf, size_t buflen); 
    106106ret_t cherokee_mkstemp       (cherokee_buffer_t *buffer, int *fd); 
     107ret_t cherokee_mkdir_p       (cherokee_buffer_t *path); 
    107108 
    108109/* Misc