Changeset 74

Show
Ignore:
Timestamp:
07/19/08 14:33:37 (1 month ago)
Author:
scott
Message:

Part 1 of tidy up

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/config.m4

    r67 r74  
    88        dnl when running phpize enable_maintainer_zts is not available 
    99        if test -z "$enable_maintainer_zts"; then 
    10                 ZTS=`grep '#define ZTS' $phpincludedir/main/php_config.h|$SED 's/#define ZTS//'` 
    11                 if test "$ZTS" -eq "1"; then 
    12                         enable_maintainer_zts="yes" 
     10                if test -f "$phpincludedir/main/php_config.h"; then 
     11                        ZTS=`grep '#define ZTS' $phpincludedir/main/php_config.h|$SED 's/#define ZTS//'` 
     12                        if test "$ZTS" -eq "1"; then 
     13                                enable_maintainer_zts="yes" 
     14                        fi 
    1315                fi 
    1416        fi 
  • trunk/php_sqlite3.h

    r65 r74  
    106106typedef struct _php_sqlite3_db_object  { 
    107107        zend_object zo; 
     108        int initialised; 
    108109        sqlite3 *db; 
    109110        php_sqlite3_func *funcs; 
    110111 
    111112        zend_llist stmt_list; 
    112 } php_sqlite3_db
     113} php_sqlite3_db_object
    113114 
    114115/* sqlite3 objects to be destroyed */ 
     
    124125        zend_object zo; 
    125126        sqlite3_stmt **intern_stmt; 
    126         php_sqlite3_db *db_object; 
    127  
     127        php_sqlite3_db_object *db_obj; 
     128        int initialised; 
     129         
    128130        int is_prepared_statement; 
    129131        int complete; 
     
    137139        zend_object zo; 
    138140        sqlite3_stmt *stmt; 
    139         php_sqlite3_db *db_object; 
     141        php_sqlite3_db_object *db_obj; 
     142        int initialised; 
    140143         
    141144        /* Keep track of the zvals for bound parameters */ 
  • trunk/sqlite3.c

    r71 r74  
    6262PHP_METHOD(sqlite3, open) 
    6363{ 
    64         php_sqlite3_db *db
     64        php_sqlite3_db_object *db_obj
    6565        zval *object = getThis(); 
    6666        char *filename, *encryption_key, *fullpath; 
    6767        int filename_len, encryption_key_len, flags = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE; 
    68         db = (php_sqlite3_db *)zend_object_store_get_object(object TSRMLS_CC); 
     68        db_obj = (php_sqlite3_db_object *)zend_object_store_get_object(object TSRMLS_CC); 
    6969 
    7070        if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|ls", 
    7171                                &filename, &filename_len, &flags, &encryption_key, &encryption_key_len)) { 
    7272                return; 
     73        } 
     74 
     75        if (db_obj->initialised) { 
     76                php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Already initialised DB Object"); 
    7377        } 
    7478 
     
    9397        } 
    9498 
    95         if (db->db) { 
    96                 sqlite3_close(db->db); 
    97                 db->db = NULL; 
    98         } 
    99  
    10099#if SQLITE_VERSION_NUMBER >= 3005000 && PHP_MAJOR_VERSION >= 5 && PHP_MINOR_VERSION >= 3 
    101         if (sqlite3_open_v2(fullpath, &(db->db), flags, NULL) != SQLITE_OK) { 
     100        if (sqlite3_open_v2(fullpath, &(db_obj->db), flags, NULL) != SQLITE_OK) { 
    102101#else 
    103         if (sqlite3_open(fullpath, &(db->db)) != SQLITE_OK) { 
     102        if (sqlite3_open(fullpath, &(db_obj->db)) != SQLITE_OK) { 
    104103#endif 
    105                 php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Unable to open database: %s", sqlite3_errmsg(db->db)); 
     104                php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Unable to open database: %s", sqlite3_errmsg(db_obj->db)); 
    106105                if (fullpath) { 
    107106                        efree(fullpath); 
     
    110109        } 
    111110 
     111        db_obj->initialised = 1; 
     112 
    112113#if SQLITE_HAS_CODEC 
    113114        if (encryption_key_len > 0) { 
    114                 if (sqlite3_key(db->db, encryption_key, encryption_key_len) != SQLITE_OK) { 
     115                if (sqlite3_key(db_obj->db, encryption_key, encryption_key_len) != SQLITE_OK) { 
    115116                        return; 
    116117                } 
     
    123124#endif 
    124125                        (PG(open_basedir) && *PG(open_basedir))) { 
    125                 sqlite3_set_authorizer(db->db, php_sqlite3_authorizer, NULL); 
     126                sqlite3_set_authorizer(db_obj->db, php_sqlite3_authorizer, NULL); 
    126127        } 
    127128 
     
    138139PHP_METHOD(sqlite3, close) 
    139140{ 
    140         php_sqlite3_db *db
     141        php_sqlite3_db_object *db_obj
    141142        zval *object = getThis(); 
    142143        int errcode; 
    143         db = (php_sqlite3_db *)zend_object_store_get_object(object TSRMLS_CC); 
     144        db_obj = (php_sqlite3_db_object *)zend_object_store_get_object(object TSRMLS_CC); 
    144145 
    145146        if (ZEND_NUM_ARGS() != 0) { 
     
    147148        } 
    148149 
    149         zend_llist_clean(&(db->stmt_list)); 
    150         errcode = sqlite3_close(db->db); 
    151         if (errcode != SQLITE_OK) { 
    152                 php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to close database: %d, %s", errcode, sqlite3_errmsg(db->db)); 
    153                 RETURN_FALSE; 
    154         } 
    155  
    156         db->db = NULL; 
     150        zend_llist_clean(&(db_obj->stmt_list)); 
     151        if (db_obj->initialised) { 
     152                errcode = sqlite3_close(db_obj->db); 
     153                if (errcode != SQLITE_OK) { 
     154                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to close database: %d, %s", errcode, sqlite3_errmsg(db_obj->db)); 
     155                        RETURN_FALSE; 
     156                } 
     157                db_obj->initialised = 0; 
     158        } 
    157159 
    158160        RETURN_TRUE; 
     
    165167PHP_METHOD(sqlite3, exec) 
    166168{ 
    167         php_sqlite3_db *db
     169        php_sqlite3_db_object *db_obj
    168170        zval *object = getThis(); 
    169171        char *sql, *errtext = NULL; 
    170172        int sql_len; 
    171         db = (php_sqlite3_db *)zend_object_store_get_object(object TSRMLS_CC); 
     173        db_obj = (php_sqlite3_db_object *)zend_object_store_get_object(object TSRMLS_CC); 
    172174 
    173175        if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", 
     
    176178        } 
    177179 
    178         if (sqlite3_exec(db->db, sql, NULL, NULL, &errtext) != SQLITE_OK) { 
     180        if (sqlite3_exec(db_obj->db, sql, NULL, NULL, &errtext) != SQLITE_OK) { 
    179181                php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", errtext); 
    180182                sqlite3_free(errtext); 
     
    209211PHP_METHOD(sqlite3, lastInsertRowID) 
    210212{ 
    211         php_sqlite3_db *db
    212         zval *object = getThis(); 
    213         db = (php_sqlite3_db *)zend_object_store_get_object(object TSRMLS_CC); 
     213        php_sqlite3_db_object *db_obj
     214        zval *object = getThis(); 
     215        db_obj = (php_sqlite3_db_object *)zend_object_store_get_object(object TSRMLS_CC); 
    214216 
    215217        if (ZEND_NUM_ARGS() != 0) { 
     
    217219        } 
    218220 
    219         RETURN_LONG(sqlite3_last_insert_rowid(db->db)); 
     221        RETURN_LONG(sqlite3_last_insert_rowid(db_obj->db)); 
    220222} 
    221223/* }}} */ 
     
    226228PHP_METHOD(sqlite3, lastErrorCode) 
    227229{ 
    228         php_sqlite3_db *db
    229         zval *object = getThis(); 
    230         db = (php_sqlite3_db *)zend_object_store_get_object(object TSRMLS_CC); 
     230        php_sqlite3_db_object *db_obj
     231        zval *object = getThis(); 
     232        db_obj = (php_sqlite3_db_object *)zend_object_store_get_object(object TSRMLS_CC); 
    231233 
    232234        if (ZEND_NUM_ARGS() != 0) { 
     
    234236        } 
    235237 
    236         RETURN_LONG(sqlite3_errcode(db->db)); 
     238        RETURN_LONG(sqlite3_errcode(db_obj->db)); 
    237239} 
    238240/* }}} */ 
     
    243245PHP_METHOD(sqlite3, lastErrorMsg) 
    244246{ 
    245         php_sqlite3_db *db
    246         zval *object = getThis(); 
    247         db = (php_sqlite3_db *)zend_object_store_get_object(object TSRMLS_CC); 
     247        php_sqlite3_db_object *db_obj
     248        zval *object = getThis(); 
     249        db_obj = (php_sqlite3_db_object *)zend_object_store_get_object(object TSRMLS_CC); 
    248250 
    249251        if (ZEND_NUM_ARGS() != 0) { 
     
    251253        } 
    252254 
    253         RETVAL_STRING((char *)sqlite3_errmsg(db->db), 1); 
     255        RETVAL_STRING((char *)sqlite3_errmsg(db_obj->db), 1); 
    254256} 
    255257/* }}} */ 
     
    260262PHP_METHOD(sqlite3, loadExtension) 
    261263{ 
    262         php_sqlite3_db *db
     264        php_sqlite3_db_object *db_obj
    263265        zval *object = getThis(); 
    264266        char *extension, *lib_path, *extension_dir, *errtext = NULL; 
    265267        char fullpath[MAXPATHLEN]; 
    266268        int extension_len, extension_dir_len; 
    267         db = (php_sqlite3_db *)zend_object_store_get_object(object TSRMLS_CC); 
     269        db_obj = (php_sqlite3_db_object *)zend_object_store_get_object(object TSRMLS_CC); 
    268270 
    269271        if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", 
     
    305307 
    306308        /* Extension loading should only be enabled for when we attempt to load */ 
    307         sqlite3_enable_load_extension(db->db, 1); 
    308         if (sqlite3_load_extension(db->db, fullpath, 0, &errtext) != SQLITE_OK) { 
     309        sqlite3_enable_load_extension(db_obj->db, 1); 
     310        if (sqlite3_load_extension(db_obj->db, fullpath, 0, &errtext) != SQLITE_OK) { 
    309311                php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", errtext); 
    310312                sqlite3_free(errtext); 
    311                 sqlite3_enable_load_extension(db->db, 0); 
    312                 RETURN_FALSE; 
    313         } 
    314         sqlite3_enable_load_extension(db->db, 0); 
     313                sqlite3_enable_load_extension(db_obj->db, 0); 
     314                RETURN_FALSE; 
     315        } 
     316        sqlite3_enable_load_extension(db_obj->db, 0); 
    315317 
    316318        RETURN_TRUE; 
     
    323325PHP_METHOD(sqlite3, changes) 
    324326{ 
    325         php_sqlite3_db *db
    326         zval *object = getThis(); 
    327         db = (php_sqlite3_db *)zend_object_store_get_object(object TSRMLS_CC); 
     327        php_sqlite3_db_object *db_obj
     328        zval *object = getThis(); 
     329        db_obj = (php_sqlite3_db_object *)zend_object_store_get_object(object TSRMLS_CC); 
    328330 
    329331        if (ZEND_NUM_ARGS() != 0) { 
     
    331333        } 
    332334 
    333         RETURN_LONG(sqlite3_changes(db->db)); 
     335        RETURN_LONG(sqlite3_changes(db_obj->db)); 
    334336} 
    335337/* }}} */ 
     
    340342PHP_METHOD(sqlite3, escapeString) 
    341343{ 
    342         php_sqlite3_db *db
     344        php_sqlite3_db_object *db_obj
    343345        zval *object = getThis(); 
    344346        char *sql, *ret; 
    345347        int sql_len; 
    346         db = (php_sqlite3_db *)zend_object_store_get_object(object TSRMLS_CC); 
     348        db_obj = (php_sqlite3_db_object *)zend_object_store_get_object(object TSRMLS_CC); 
    347349 
    348350        if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", 
     
    368370PHP_METHOD(sqlite3, prepare) 
    369371{ 
    370         php_sqlite3_db *db
     372        php_sqlite3_db_object *db_obj
    371373        php_sqlite3_stmt *internp; 
    372374        zval *object = getThis(); 
    373375        char *sql; 
    374376        int sql_len, errcode; 
    375         db = (php_sqlite3_db *)zend_object_store_get_object(object TSRMLS_CC); 
     377        db_obj = (php_sqlite3_db_object *)zend_object_store_get_object(object TSRMLS_CC); 
    376378 
    377379        if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", 
     
    386388        object_init_ex(return_value, php_sqlite3_stmt_entry); 
    387389        internp = (php_sqlite3_stmt *)zend_object_store_get_object(return_value TSRMLS_CC); 
    388         internp->db_object = db
    389  
    390         errcode = sqlite3_prepare_v2(db->db, sql, sql_len, &(internp->stmt), NULL); 
     390        internp->db_obj = db_obj
     391 
     392        errcode = sqlite3_prepare_v2(db_obj->db, sql, sql_len, &(internp->stmt), NULL); 
    391393        if (errcode != SQLITE_OK) { 
    392                 php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to prepare statement: %d, %s", errcode, sqlite3_errmsg(db->db)); 
     394                php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to prepare statement: %d, %s", errcode, sqlite3_errmsg(db_obj->db)); 
    393395                RETURN_FALSE; 
    394396        } 
     
    401403PHP_METHOD(sqlite3, query) 
    402404{ 
    403         php_sqlite3_db *db
     405        php_sqlite3_db_object *db_obj
    404406        php_sqlite3_result *result; 
    405407        zval *object = getThis(); 
    406408        char *sql, *errtext = NULL; 
    407409        int sql_len, return_code; 
    408         db = (php_sqlite3_db *)zend_object_store_get_object(object TSRMLS_CC); 
     410        db_obj = (php_sqlite3_db_object *)zend_object_store_get_object(object TSRMLS_CC); 
    409411 
    410412        if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", 
     
    419421        /* If there was no return value then just execute the query */ 
    420422        if (!return_value_used) { 
    421                 if (sqlite3_exec(db->db, sql, NULL, NULL, &errtext) != SQLITE_OK) { 
     423                if (sqlite3_exec(db_obj->db, sql, NULL, NULL, &errtext) != SQLITE_OK) { 
    422424                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", errtext); 
    423425                        sqlite3_free(errtext); 
     
    428430        object_init_ex(return_value, php_sqlite3_result_entry); 
    429431        result = (php_sqlite3_result *)zend_object_store_get_object(return_value TSRMLS_CC); 
    430         result->db_object = db
    431  
    432         return_code = sqlite3_prepare_v2(db->db, sql, sql_len, result->intern_stmt, NULL); 
     432        result->db_obj = db_obj
     433 
     434        return_code = sqlite3_prepare_v2(db_obj->db, sql, sql_len, result->intern_stmt, NULL); 
    433435        if (return_code != SQLITE_OK) { 
    434                 php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to prepare statement: %d, %s", return_code, sqlite3_errmsg(db->db)); 
     436                php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to prepare statement: %d, %s", return_code, sqlite3_errmsg(db_obj->db)); 
    435437                efree(result->intern_stmt); 
    436438                result->intern_stmt = NULL; 
     
    462464                        free_item->result_object = return_value; 
    463465                        Z_ADDREF_P(return_value); 
    464                         zend_llist_add_element(&(db->stmt_list), &free_item); 
     466                        zend_llist_add_element(&(db_obj->stmt_list), &free_item); 
    465467                        sqlite3_reset(*(result->intern_stmt)); 
    466468                        break; 
    467469                } 
    468470                default: 
    469                         php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to execute statement: %s", sqlite3_errmsg(db->db)); 
     471                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to execute statement: %s", sqlite3_errmsg(db_obj->db)); 
    470472                        sqlite3_finalize(*(result->intern_stmt)); 
    471473                        RETURN_FALSE; 
     
    511513PHP_METHOD(sqlite3, querySingle) 
    512514{ 
    513         php_sqlite3_db *db
     515        php_sqlite3_db_object *db_obj
    514516        zval *object = getThis(); 
    515517        char *sql, *errtext = NULL; 
    516518        int sql_len, return_code, entire_row = 0; 
    517519        sqlite3_stmt *stmt; 
    518         db = (php_sqlite3_db *)zend_object_store_get_object(object TSRMLS_CC); 
     520        db_obj = (php_sqlite3_db_object *)zend_object_store_get_object(object TSRMLS_CC); 
    519521 
    520522        if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|b", 
     
    529531        /* If there was no return value then just execute the query */ 
    530532        if (!return_value_used) { 
    531                 if (sqlite3_exec(db->db, sql, NULL, NULL, &errtext) != SQLITE_OK) { 
     533                if (sqlite3_exec(db_obj->db, sql, NULL, NULL, &errtext) != SQLITE_OK) { 
    532534                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", errtext); 
    533535                        sqlite3_free(errtext); 
     
    536538        } 
    537539 
    538         return_code = sqlite3_prepare_v2(db->db, sql, sql_len, &stmt, NULL); 
     540        return_code = sqlite3_prepare_v2(db_obj->db, sql, sql_len, &stmt, NULL); 
    539541        if (return_code != SQLITE_OK) { 
    540                 php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to prepare statement: %d, %s", return_code, sqlite3_errmsg(db->db)); 
     542                php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to prepare statement: %d, %s", return_code, sqlite3_errmsg(db_obj->db)); 
    541543                RETURN_FALSE; 
    542544        } 
     
    576578                } 
    577579                default: 
    578                         php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to execute statement: %s", sqlite3_errmsg(db->db)); 
     580                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to execute statement: %s", sqlite3_errmsg(db_obj->db)); 
    579581                        RETVAL_FALSE; 
    580582        } 
     
    662664        /* clean up the params */ 
    663665        if (argc) { 
    664                 for (i = is_agg; i < argc; i++) { 
     666                for (i = is_agg; i < argc + is_agg; i++) { 
    665667                        zval_ptr_dtor(zargs[i]); 
    666668                        efree(zargs[i]); 
     
    753755PHP_METHOD(sqlite3, createFunction) 
    754756{ 
    755         php_sqlite3_db *db
     757        php_sqlite3_db_object *db_obj
    756758        zval *object = getThis(); 
    757759        php_sqlite3_func *func; 
     
    761763        long sql_func_num_args = -1; 
    762764 
    763         db = (php_sqlite3_db *)zend_object_store_get_object(object TSRMLS_CC); 
     765        db_obj = (php_sqlite3_db_object *)zend_object_store_get_object(object TSRMLS_CC); 
    764766 
    765767        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sz|l", &sql_func, &sql_func_len, &callback_func, &sql_func_num_args) == FAILURE) { 
     
    780782        func = (php_sqlite3_func *)ecalloc(1, sizeof(*func)); 
    781783 
    782         if (sqlite3_create_function(db->db, sql_func, sql_func_num_args, SQLITE_UTF8, func, php_sqlite3_callback_func, NULL, NULL) == SQLITE_OK) { 
     784        if (sqlite3_create_function(db_obj->db, sql_func, sql_func_num_args, SQLITE_UTF8, func, php_sqlite3_callback_func, NULL, NULL) == SQLITE_OK) { 
    783785                func->func_name = estrdup(sql_func); 
    784786 
     
    788790 
    789791                func->argc = sql_func_num_args; 
    790                 func->next = db->funcs; 
    791                 db->funcs = func; 
     792                func->next = db_obj->funcs; 
     793                db_obj->funcs = func; 
    792794 
    793795                RETURN_TRUE; 
     
    804806PHP_METHOD(sqlite3, createAggregate) 
    805807{ 
    806         php_sqlite3_db *db
     808        php_sqlite3_db_object *db_obj
    807809        zval *object = getThis(); 
    808810        php_sqlite3_func *func; 
     
    812814        long sql_func_num_args = -1; 
    813815 
    814         db = (php_sqlite3_db *)zend_object_store_get_object(object TSRMLS_CC); 
     816        db_obj = (php_sqlite3_db_object *)zend_object_store_get_object(object TSRMLS_CC); 
    815817 
    816818        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "szz|l", &sql_func, &sql_func_len, &step_callback, &fini_callback, &sql_func_num_args) == FAILURE) { 
     
    838840        func = (php_sqlite3_func *)ecalloc(1, sizeof(*func)); 
    839841 
    840         if (sqlite3_create_function(db->db, sql_func, sql_func_num_args, SQLITE_UTF8, func, NULL, php_sqlite3_callback_step, php_sqlite3_callback_final) == SQLITE_OK) { 
     842        if (sqlite3_create_function(db_obj->db, sql_func, sql_func_num_args, SQLITE_UTF8, func, NULL, php_sqlite3_callback_step, php_sqlite3_callback_final) == SQLITE_OK) { 
    841843                func->func_name = estrdup(sql_func); 
    842844 
     
    850852 
    851853                func->argc = sql_func_num_args; 
    852                 func->next = db->funcs; 
    853                 db->funcs = func; 
     854                func->next = db_obj->funcs; 
     855                db_obj->funcs = func; 
    854856 
    855857                RETURN_TRUE; 
     
    893895        } 
    894896 
    895         zend_llist_del_element(&(internp->db_object->stmt_list), internp->stmt, 
     897        zend_llist_del_element(&(internp->db_obj->stmt_list), internp->stmt, 
    896898                                                        (int (*)(void *, void *)) php_sqlite3_compare_stmt_free); 
    897899 
     
    12411243                        Z_ADDREF_P(return_value); 
    12421244 
    1243                         zend_llist_add_element(&(internp->db_object->stmt_list), &free_item); 
     1245                        zend_llist_add_element(&(internp->db_obj->stmt_list), &free_item); 
    12441246                        /* We don't need the default one that came with it now */ 
    12451247 
     
    12481250                        result->intern_stmt = &internp->stmt; 
    12491251                        result->num_rows = num_rows; 
    1250                         result->db_object = internp->db_object
     1252                        result->db_obj = internp->db_obj
    12511253                        break; 
    12521254                } 
     
    14281430        /* We need to finalize an internal statement */ 
    14291431        if (internp->is_prepared_statement == 0) { 
    1430                 zend_llist_del_element(&(internp->db_object->stmt_list), *(internp->intern_stmt), 
     1432                zend_llist_del_element(&(internp->db_obj->stmt_list), *(internp->intern_stmt), 
    14311433                                                        (int (*)(void *, void *)) php_sqlite3_compare_stmt_free); 
    14321434        } else { 
     
    16951697static void php_sqlite3_object_free_storage(void *object TSRMLS_DC) 
    16961698{ 
    1697         php_sqlite3_db *intern = (php_sqlite3_db *)object; 
     1699        php_sqlite3_db_object *intern = (php_sqlite3_db_object *)object; 
    16981700        php_sqlite3_func *func; 
    16991701 
     
    17851787        zval *tmp; 
    17861788        zend_object_value retval; 
    1787         php_sqlite3_db *intern; 
     1789        php_sqlite3_db_object *intern; 
    17881790 
    17891791        /* Allocate memory for it */ 
    1790         intern = emalloc(sizeof(php_sqlite3_db)); 
    1791         memset(&intern->zo, 0, sizeof(php_sqlite3_db)); 
    1792  
     1792        intern = emalloc(sizeof(php_sqlite3_db_object)); 
     1793        memset(&intern->zo, 0, sizeof(php_sqlite3_db_object)); 
     1794 
     1795        /* Non standard stuff, not sure if this is really required still */ 
    17931796        zend_llist_init(&(intern->stmt_list),   sizeof(php_sqlite3_stmt_free_list *), (llist_dtor_func_t)php_sqlite3_stmt_free, 0); 
    1794         intern->db = NULL; 
     1797 
    17951798        zend_object_std_init(&intern->zo, class_type TSRMLS_CC); 
    17961799        zend_hash_copy(intern->zo.properties, &class_type->default_properties, (copy_ctor_func_t) zval_add_ref,(void *) &tmp, sizeof(zval *)); 
     
    18121815        memset(&intern->zo, 0, sizeof(php_sqlite3_stmt)); 
    18131816 
    1814         intern->stmt = NULL; 
    18151817        zend_object_std_init(&intern->zo, class_type TSRMLS_CC); 
    18161818        zend_hash_copy(intern->zo.properties, &class_type->default_properties, (copy_ctor_func_t) zval_add_ref,(void *) &tmp, sizeof(zval *));