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]