davidg          Sat Feb 24 13:12:11 2001 EDT

  Modified files:              
    /php4/ext/midgard   mgd_internal.h midgard.c oop.c php_midgard.h 
  Log:
  fixed the error reporting.
  added custom log to the lib
  
  
Index: php4/ext/midgard/mgd_internal.h
diff -u php4/ext/midgard/mgd_internal.h:1.6 php4/ext/midgard/mgd_internal.h:1.7
--- php4/ext/midgard/mgd_internal.h:1.6 Thu Feb 22 09:39:37 2001
+++ php4/ext/midgard/mgd_internal.h     Sat Feb 24 13:12:11 2001
@@ -1,4 +1,4 @@
-/* $Id: mgd_internal.h,v 1.6 2001/02/22 17:39:37 davidg Exp $
+/* $Id: mgd_internal.h,v 1.7 2001/02/24 21:12:11 davidg Exp $
 Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]>
 Copyright (C) 2000 The Midgard Project ry
 Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]>
@@ -42,7 +42,7 @@
       if (!mgd_rcfg()) { \
          RETURN_FALSE_BECAUSE(MGD_ERR_NOT_CONNECTED); \
       } \
-      mgd_set_errno(MGD_ERR_OK); \
+      mgd_reset_errno(); \
    } while (0);
 
 #define MGD_FUNCTION(name) \
Index: php4/ext/midgard/midgard.c
diff -u php4/ext/midgard/midgard.c:1.16 php4/ext/midgard/midgard.c:1.17
--- php4/ext/midgard/midgard.c:1.16     Fri Feb 23 01:53:49 2001
+++ php4/ext/midgard/midgard.c  Sat Feb 24 13:12:11 2001
@@ -1,4 +1,4 @@
-/* $Id: midgard.c,v 1.16 2001/02/23 09:53:49 davidg Exp $
+/* $Id: midgard.c,v 1.17 2001/02/24 21:12:11 davidg Exp $
 Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]>
 Copyright (C) 2000 The Midgard Project ry
 Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]>
@@ -373,6 +373,9 @@
        SLS_FETCH();
        MGDLS_FETCH();
        
+       /* set apache log facilities available to the library */
+       // mgd_set_log_debug_func(mgd_log_debug);
+
        midgard_module = ap_find_linked_module("mod_midgard.c");
        if (!midgard_module) {
                MGDG(rcfg) = NULL;
@@ -552,10 +555,30 @@
       MGDG(mgd_errno) = mgd_errno;
 }
 
+void mgd_reset_errno(void)
+{
+   MGDLS_FETCH();
+   MGDG(mgd_errno) = MGD_ERR_OK;
+}
+
 int mgd_get_errno()
 {
    MGDLS_FETCH();
    return MGDG(mgd_errno);
+}
+
+void mgd_log_debug(int flags, const char *fmt, ...)
+{
+       midgard_pool *pool;
+       char *str;
+       va_list args;
+
+       pool = mgd_alloc_pool();
+       va_start(args, fmt);
+       str = mgd_vformat(mgd_handle(), pool, fmt, args);
+       va_end(args);
+       MGD_LOG_START("\nDEBUG: %s") MGD_LOG_ARG(str) MGD_LOG_END()
+       mgd_free_pool(pool);
 }
 
 MGD_FUNCTION(get_midgard)
Index: php4/ext/midgard/oop.c
diff -u php4/ext/midgard/oop.c:1.7 php4/ext/midgard/oop.c:1.8
--- php4/ext/midgard/oop.c:1.7  Fri Feb 23 02:04:48 2001
+++ php4/ext/midgard/oop.c      Sat Feb 24 13:12:11 2001
@@ -1,4 +1,4 @@
-/* $Id: oop.c,v 1.7 2001/02/23 10:04:48 davidg Exp $
+/* $Id: oop.c,v 1.8 2001/02/24 21:12:11 davidg Exp $
 Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]>
 Copyright (C) 2000 The Midgard Project ry
 Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]>
@@ -121,11 +121,7 @@
 
 void php_midgard_delete(zval * return_value, const char *table, int id)
 {
-       if (!mgd_rcfg()) {
-               RETURN_FALSE_BECAUSE(MGD_ERR_NOT_CONNECTED);
-   }
-
-       RETVAL_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+       CHECK_MGD;
 
        if (mgd_delete(mgd_handle(), table, id)) {
       RETURN_TRUE;
@@ -151,17 +147,14 @@
                        const char *fields, int id, ...)
 {
    va_list args;
-   RETVAL_FALSE_BECAUSE(MGD_ERR_INTERNAL);
-
-       if (!mgd_rcfg()) {
-               RETURN_FALSE_BECAUSE(MGD_ERR_NOT_CONNECTED);
-   }
+   CHECK_MGD;
 
    va_start(args, id);
        if (mgd_vupdate(mgd_handle(), table, id, fields, args)) {
       RETVAL_TRUE;
    }
    else {
+         RETVAL_FALSE_BECAUSE(MGD_ERR_INTERNAL);
       /* EEH: TODO: log_error(
          "Midgard: update of %s %d failed",
             table ? table : "<null class>", id);
@@ -178,8 +171,6 @@
        int id;
        CHECK_MGD;
 
-       RETVAL_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
-
        va_start(args, values);
        id = mgd_vcreate(mgd_handle(), table, fields, values, args);
        va_end(args);
@@ -202,11 +193,7 @@
        va_list args;
        midgard_res *res;
 
-       if (!mgd_rcfg()) {
-               RETURN_FALSE_BECAUSE(MGD_ERR_NOT_CONNECTED);
-   }
-
-       RETVAL_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+       CHECK_MGD;
 
        va_start(args, order);
        res =
@@ -242,11 +229,7 @@
        midgard_pool *pool = NULL;
        char *propname, *value=NULL;
 
-       if (!mgd_rcfg()) {
-               RETURN_FALSE_BECAUSE(MGD_ERR_NOT_CONNECTED);
-   }
-
-       RETVAL_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
+       CHECK_MGD;
 
 #if HAVE_MIDGARD_SITEGROUPS
        if (grouped)
@@ -284,7 +267,7 @@
                                            (char*)mgd_colname(res, i),
                                            value, 1);
                }
-       }
+       } else RETVAL_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
 
        if (res)
                mgd_release(res);
@@ -314,7 +297,6 @@
        int i;
        CHECK_MGD;
 
-       RETVAL_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
 
        res =
           mgd_record_by_name(mgd_handle(), fields, table, idfield,
@@ -329,7 +311,7 @@
                                            (char*)mgd_colname(res, i),
                                            value, 1);
                }
-       }
+       } else RETVAL_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
        if (res)
                mgd_release(res);
 }
@@ -345,8 +327,6 @@
 
        CHECK_MGD;
 
-       RETVAL_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
-
        res = mgd_record_by_name2(mgd_handle(), fields, table,
                                  firstfield, first, secondfield, second);
        if (res && mgd_fetch(res)) {
@@ -359,7 +339,7 @@
                                            (char*)mgd_colname(res, i),
                                            value, 1);
                }
-       }
+       } else RETVAL_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
        if (res)
                mgd_release(res);
 }
@@ -373,8 +353,6 @@
        char *value=NULL;
        CHECK_MGD;
 
-       RETVAL_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
-
        res = mgd_record_by_name_only(mgd_handle(), fields, table, name);
        if (res && mgd_fetch(res)) {
                php_midgard_bless_oop(return_value, species);
@@ -386,7 +364,7 @@
                                            (char*)mgd_colname(res, i),
                                            value, 1);
                }
-       }
+       } else RETVAL_FALSE_BECAUSE(MGD_ERR_NOT_EXISTS);
        if (res)
                mgd_release(res);
 }
Index: php4/ext/midgard/php_midgard.h
diff -u php4/ext/midgard/php_midgard.h:1.5 php4/ext/midgard/php_midgard.h:1.6
--- php4/ext/midgard/php_midgard.h:1.5  Tue Feb 20 03:29:52 2001
+++ php4/ext/midgard/php_midgard.h      Sat Feb 24 13:12:11 2001
@@ -1,4 +1,4 @@
-/* $Id: php_midgard.h,v 1.5 2001/02/20 11:29:52 emile Exp $
+/* $Id: php_midgard.h,v 1.6 2001/02/24 21:12:11 davidg Exp $
 Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]>
 Copyright (C) 2000 The Midgard Project ry
 Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]>
@@ -38,7 +38,9 @@
 midgard *mgd_handle();
 zval *mgd_getudf();
 int mgd_get_errno();
+void mgd_reset_errno();
 void mgd_set_errno(int mgd_errno);
+void mgd_log_debug(int flags, const char *fmt, ...);
 
 extern zend_module_entry midgard_module_entry;
 #define phpext_midgard_ptr &midgard_module_entry



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to