Update of /cvsroot/gqclient/gq/src
In directory sc8-pr-cvs1:/tmp/cvs-serv15612
Modified Files:
schema.c
Log Message:
* Introduced an error context during schema loading. That way there is
at least a hint to WHAT the problem is. I ended up with dozens of error
popups due to a missing default schema server without ANY indication of
what the problem REALLY was.
Index: schema.c
===================================================================
RCS file: /cvsroot/gqclient/gq/src/schema.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -d -r1.20 -r1.21
*** schema.c 11 Oct 2003 09:14:07 -0000 1.20
--- schema.c 13 Oct 2003 07:27:44 -0000 1.21
***************
*** 41,44 ****
--- 41,45 ----
#include "i18n.h"
#include "debug.h"
+ #include "errorchain.h"
***************
*** 62,83 ****
ss = get_server_schema(server);
if(ss == NULL) {
! /* server didn't publish a schema, try the last resort schemaserver */
server = server_by_name(config->schemaserver);
if(server == NULL) {
! set_normalcursor();
! return(NULL);
}
if(server->ss) {
! set_normalcursor();
! return(server->ss);
}
ss = get_server_schema(server);
}
set_normalcursor();
-
return(ss);
}
--- 63,91 ----
ss = get_server_schema(server);
if(ss == NULL) {
+ /* server didn't publish a schema, try the last resort
+ schemaserver */
! int ec = error_new_context(_("Using schema from last-resort schemaserver"));
server = server_by_name(config->schemaserver);
if(server == NULL) {
! error_push(ec, _("Cannot find last-resort schema server"));
! ss = NULL;
! goto done;
}
if(server->ss) {
! ss = server->ss;
! goto done;
}
ss = get_server_schema(server);
+ if (ss == NULL) {
+ error_push(ec, _("Cannot obtain schema from last-resort schema server"));
+ }
+ done:
+ error_flush(ec);
}
set_normalcursor();
return(ss);
}
|