Changeset 16731

Show
Ignore:
Timestamp:
06/27/08 13:12:27 (4 months ago)
Author:
piotras
Message:

Catch GError when opening new connection

Files:

Legend:

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

    r16256 r16731  
    1717#include "php_midgard.h" 
    1818#include "php_midgard_gobject.h" 
     19#include <zend_exceptions.h> 
    1920 
    2021static zend_class_entry *php_midgard_connection_class; 
     
    206207        MidgardConnection *mgd =__midgard_connection_get_ptr(); 
    207208         
    208         rv = midgard_connection_open(mgd, (const gchar *)cnf_name); 
     209        GError *error = NULL; 
     210        rv = midgard_connection_open(mgd, (const gchar *)cnf_name, &error); 
    209211 
    210212        if(rv) { 
     
    217219                                        php_midgard_log_errors, (gpointer)mgd); 
    218220                midgard_connection_set_loghandler(mgd, loghandler); 
    219         } 
    220  
    221         RETURN_BOOL(rv); 
     221 
     222                RETURN_TRUE; 
     223        } 
     224 
     225        if(!rv) { 
     226                 
     227                if(error) { 
     228                 
     229                        zend_throw_exception_ex(zend_exception_get_default(TSRMLS_C), 
     230                                        0 TSRMLS_CC, error->message); 
     231                        g_clear_error(&error); 
     232                        RETURN_FALSE; 
     233                } 
     234        } 
    222235} 
    223236