Show
Ignore:
Timestamp:
07/19/06 11:13:56 (2 years ago)
Author:
bart
Message:

Use some more zval macro's to cleanup things a bit

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • eaccelerator/trunk/content.c

    r201 r228  
    138138          sapi_add_header("Status: 304 Not Modified", sizeof("Status: 304 Not Modified") - 1, 1) == SUCCESS) { 
    139139        zval_dtor(return_value); 
    140         return_value->value.str.val = empty_string; 
    141         return_value->value.str.len = 0; 
     140        Z_STRVAL_P(return_value) = empty_string; 
     141        Z_STRLEN_P(return_value) = 0; 
    142142        /*fprintf(stderr,"\nnot-modified\n");*/ 
    143143        return 1; 
     
    281281        gzstring.type == IS_STRING) { 
    282282      if (gzip) { 
    283         char* ret = emalloc(gzstring.value.str.len+13); 
     283        char* ret = emalloc(Z_STRLEN(gzstring) + 13); 
    284284        unsigned long crc32 = eaccelerator_crc32(Z_STRVAL_P(return_value),Z_STRLEN_P(return_value)); 
    285285        ret[0] = '\x1f'; 
     
    293293        ret[8] = '\x00'; 
    294294        ret[9] = '\x03'; 
    295         memcpy(ret+10,gzstring.value.str.val+2,gzstring.value.str.len-6); 
    296         ret[gzstring.value.str.len+4]  = (char)(crc32 & 0xff); 
    297         ret[gzstring.value.str.len+5]  = (char)((crc32 >> 8) & 0xff); 
    298         ret[gzstring.value.str.len+6]  = (char)((crc32 >> 16) & 0xff); 
    299         ret[gzstring.value.str.len+7]  = (char)((crc32 >> 24) & 0xff); 
    300         ret[gzstring.value.str.len+8]  = (char)(return_value->value.str.len & 0xff); 
    301         ret[gzstring.value.str.len+9]  = (char)((return_value->value.str.len >> 8) & 0xff); 
    302         ret[gzstring.value.str.len+10] = (char)((return_value->value.str.len >> 16) & 0xff); 
    303         ret[gzstring.value.str.len+11] = (char)((return_value->value.str.len >> 24) & 0xff); 
    304         ret[gzstring.value.str.len+12] = '\x00'; 
    305         STR_FREE(gzstring.value.str.val); 
    306         gzstring.value.str.val = ret; 
    307         gzstring.value.str.len += 12; 
     295        memcpy(ret + 10, Z_STRVAL(gzstring) + 2, Z_STRLEN(gzstring) - 6); 
     296        ret[Z_STRLEN(gzstring)+4]  = (char)(crc32 & 0xff); 
     297        ret[Z_STRLEN(gzstring)+5]  = (char)((crc32 >> 8) & 0xff); 
     298        ret[Z_STRLEN(gzstring)+6]  = (char)((crc32 >> 16) & 0xff); 
     299        ret[Z_STRLEN(gzstring)+7]  = (char)((crc32 >> 24) & 0xff); 
     300        ret[Z_STRLEN(gzstring)+8]  = (char)(Z_STRLEN_P(return_value) & 0xff); 
     301        ret[Z_STRLEN(gzstring)+9]  = (char)((Z_STRLEN_P(return_value) >> 8) & 0xff); 
     302        ret[Z_STRLEN(gzstring)+10] = (char)((Z_STRLEN_P(return_value) >> 16) & 0xff); 
     303        ret[Z_STRLEN(gzstring)+11] = (char)((Z_STRLEN_P(return_value) >> 24) & 0xff); 
     304        ret[Z_STRLEN(gzstring)+12] = '\x00'; 
     305        STR_FREE(Z_STRVAL(gzstring)); 
     306        Z_STRVAL(gzstring) = ret; 
     307        Z_STRLEN(gzstring) += 12; 
    308308      } 
    309309      eaccelerator_put_page(zkey, zkey_len, &gzstring, ttl TSRMLS_CC); 
     
    346346  } 
    347347  memcpy(return_value, content, sizeof(zval)); 
    348   s = key = return_value->value.str.val
     348  s = key = Z_STRVAL_P(return_value)
    349349  if ((status & PHP_OUTPUT_HANDLER_START) != 0) { 
    350350    while (*s) {++s;} 
    351351    ttl = atoi(key); 
    352352    s = key = s+1; 
    353     if (s - return_value->value.str.val > return_value->value.str.len) { 
     353    if (s - Z_STRVAL_P(return_value) > Z_STRLEN_P(return_value)) { 
    354354      zval_copy_ctor(return_value); 
    355355      eaccelerator_destroy_headers(TSRMLS_C); 
     
    359359    key_len = atoi(key); 
    360360    s = key = s+1; 
    361     if (s - return_value->value.str.val > return_value->value.str.len) { 
     361    if (s - Z_STRVAL_P(return_value) > Z_STRLEN_P(return_value)) { 
    362362      zval_copy_ctor(return_value); 
    363363      eaccelerator_destroy_headers(TSRMLS_C); 
     
    366366    while (*s) {++s;} 
    367367    ++s; 
    368     if (s - return_value->value.str.val > return_value->value.str.len) { 
     368    if (s - Z_STRVAL_P(return_value) > Z_STRLEN_P(return_value)) { 
    369369      zval_copy_ctor(return_value); 
    370370      eaccelerator_destroy_headers(TSRMLS_C); 
     
    372372    } 
    373373  } 
    374   return_value->value.str.len -= (s-return_value->value.str.val); 
    375   return_value->value.str.val = s; 
     374  Z_STRLEN_P(return_value) -= (s-Z_STRVAL_P(return_value)); 
     375  Z_STRVAL_P(return_value) = s; 
    376376  zval_copy_ctor(return_value); 
    377377  if ((status & PHP_OUTPUT_HANDLER_START) != 0 && 
     
    438438          sapi_add_header(enc, strlen(enc), 1) == SUCCESS && 
    439439          sapi_add_header("Vary: Accept-Encoding", sizeof("Vary: Accept-Encoding") - 1, 1) == SUCCESS) { 
    440         ZEND_WRITE(return_value->value.str.val, return_value->value.str.len); 
     440        ZEND_WRITE(Z_STRVAL_P(return_value), Z_STRLEN_P(return_value)); 
    441441      } 
    442442      efree(zkey); 
     
    454454      eaccelerator_compress(key, key_len, return_value, ttl TSRMLS_CC); 
    455455    } 
    456     ZEND_WRITE(return_value->value.str.val, return_value->value.str.len); 
     456    ZEND_WRITE(Z_STRVAL_P(return_value), Z_STRLEN_P(return_value)); 
    457457    zend_bailout(); 
    458458    RETURN_TRUE; 
     
    549549      return_value->type == IS_STRING) { 
    550550    /*  Output is cached. Print it. */ 
    551     ZEND_WRITE(return_value->value.str.val, return_value->value.str.len); 
     551    ZEND_WRITE(Z_STRVAL_P(return_value), Z_STRLEN_P(return_value)); 
    552552    zval_dtor(return_value); 
    553553    RETURN_TRUE;