Changeset - 2dac5dfaf6bc
[Not reviewed]
default
0 1 0
Nathan Brink (binki) - 16 years ago 2009-08-16 16:43:53
ohnobinki@ohnopublishing.net
added some libXML2 utility funcs
1 file changed with 32 insertions and 3 deletions:
0 comments (0 inline, 0 general)
src/server/slavefuncs.c
Show inline comments
 
@@ -30,29 +30,47 @@
 
#include <curl/curl.h>
 
#include <curl/types.h>
 
#include <curl/easy.h>
 

	
 
#include <stdio.h>
 
#include <string.h>
 
#include <unistd.h>
 
#include <stdlib.h>
 
#include <sys/stat.h>
 
#include <fcntl.h>
 

	
 

	
 
/** Stub, writes struct from xml */
 
int buildstruct(struct blendjob* blendjob, char *pathtoxml){
 
  return 1;
 
/**
 
 utility function for XPath-ish stuff:
 
 */
 
xmlNodePtr xml_quickxpath(xmlXPathContextPtr xpathctxt, xmlChar *path)
 
{
 
  xmlNodePtr toreturn;
 

	
 
  xmlXPathObjectPtr xmlxpathobjptr;
 
  xmlxpathobjptr = xmlXPathEval(path, xpathctxt);
 
  if(!xmlxpathobjptr->nodesetval->nodeNr)
 
    {
 
      fprintf(stderr, "XPath resolution failed for ``%s'' in ``%s'' (``'')\n", path, xpathctxt->doc->name, xpathctxt->doc->URL);
 
      return (xmlNodePtr)NULL;
 
    }
 
  
 
  toreturn = *(xmlxpathobjptr->nodesetval->nodeTab);
 

	
 
  xmlXPathFreeObject(xmlxpathobjptr);
 

	
 
  return toreturn;
 
}
 

	
 

	
 
/** Stub stub stubbiness ugh */
 
void tell_the_server(char *stuff){
 
}
 

	
 
/** Function referenced by curlget() to write data to disk. */
 
size_t curl_writetodisk(void *ptr, size_t size, size_t nmemb, FILE *stream)
 
 {
 
    return fwrite(ptr, size, nmemb, stream);
 
  }
 

	
 
/** Gets a URL with cURL and saves it to disk */
 
int curlget(char *url, char *out){
 
@@ -347,12 +365,23 @@ void exec_blender(struct blendjob* blend
 
  	      buf[readlen] = '\0';
 
  	      fprintf(stderr, "read \"%s\"\n", buf);
 
  	    }
 
  	execio_close(testrem);
 
  /* end execio code */
 
  	if(ret == 1){
 
  		fprintf(stderr,"Error starting Blender. Check your install.");
 
  	}
 
  	else{
 
  		fprintf(stderr,"Blender at least started nicely, who knows if it rendered anything though.");
 
  	}
 
}
 

	
 
void xmlinit()
 
{
 
  xmlInitParser();
 
  xmlXPathInit();
 
}
 

	
 
void xmlcleanup()
 
{
 
  xmlCleanupParser();
 
}
0 comments (0 inline, 0 general)