Changeset 16726

Show
Ignore:
Timestamp:
06/27/08 11:35:31 (3 months ago)
Author:
piotras
Message:

Accept GError pointer when reading or saving config file.
Throw exception if one is set

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/midgard/apis/php5/php_midgard_config.c

    r10603 r16726  
    1717#include "php_midgard.h" 
    1818#include "php_midgard_gobject.h" 
     19#include <zend_exceptions.h> 
    1920 
    2021static zend_class_entry *php_midgard_config_class; 
     
    6263                (MidgardConfig *) php_gobject->gobject; 
    6364 
    64         rv = midgard_config_save_file(config ,name, zbool); 
    65  
    66         RETURN_BOOL(rv); 
     65        GError *error = NULL; 
     66        rv = midgard_config_save_file(config ,name, zbool, &error); 
     67 
     68        if(!rv) { 
     69                 
     70                if(error) { 
     71                 
     72                          zend_throw_exception_ex(zend_exception_get_default(TSRMLS_C), 
     73                                          0 TSRMLS_CC, error->message); 
     74                          g_error_free(error); 
     75                          RETURN_FALSE; 
     76                } 
     77 
     78        } 
     79 
     80        RETURN_TRUE; 
    6781} 
    6882 
     
    88102                (MidgardConfig *) php_gobject->gobject; 
    89103 
    90         rv = midgard_config_read_file(config, name, zbool); 
    91  
    92         RETURN_BOOL(rv); 
     104 
     105        GError *error = NULL; 
     106        rv = midgard_config_read_file(config, name, zbool, &error); 
     107         
     108        if(!rv) { 
     109                 
     110                if(error) { 
     111                 
     112                        zend_throw_exception_ex(zend_exception_get_default(TSRMLS_C), 
     113                                        0 TSRMLS_CC, error->message); 
     114                        g_error_free(error); 
     115                        RETURN_FALSE; 
     116                } 
     117        } 
     118 
     119        RETURN_TRUE; 
    93120} 
    94121