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]