diff --git a/src/server/slavefuncs.c b/src/server/slavefuncs.c --- a/src/server/slavefuncs.c +++ b/src/server/slavefuncs.c @@ -48,7 +48,8 @@ xmlNodePtr xml_quickxpath(xmlXPathContex xmlXPathObjectPtr xmlxpathobjptr; xmlxpathobjptr = xmlXPathEval(path, xpathctxt); - if(!xmlxpathobjptr->nodesetval->nodeNr) + if(!xmlxpathobjptr + || !xmlxpathobjptr->nodesetval->nodeNr) { fprintf(stderr, "XPath resolution failed for ``%s'' in ``%s'' (``%s'')\n", path, xpathctxt->doc->name, xpathctxt->doc->URL); return (xmlNodePtr)NULL; diff --git a/src/server/slavefuncs.h b/src/server/slavefuncs.h --- a/src/server/slavefuncs.h +++ b/src/server/slavefuncs.h @@ -19,10 +19,13 @@ #ifndef _DISTREN_SLAVEFUNCS_H #define _DISTREN_SLAVEFUNCS_H + #include "blendjob.h" + +#include #include -int buildstruct(struct blendjob* blendjob, char *pathtoxml); +xmlNodePtr xml_quickxpath(xmlXPathContextPtr xpathctxt, xmlChar *path); void tell_the_server(char *stuff); size_t curl_writetodisk(void *ptr, size_t size, size_t nmemb, FILE *stream); int curlget(char *url, char *out); @@ -32,6 +35,7 @@ int register_user(char *username, char * int login_user(char *username); int conf_replace(char *username); void exec_blender(struct blendjob* blendjob, char *input, char *output, char *outputres, int frame); - +void xmlinit(); +void xmlcleanup(); #endif