Changeset - e696db7b7db2
[Not reviewed]
default
0 2 0
Nathan Brink (binki) - 16 years ago 2010-01-24 18:31:04
ohnobinki@ohnopublishing.net
fix job_list.xml, store jobnum in distrenjob.xml
2 files changed with 34 insertions and 10 deletions:
0 comments (0 inline, 0 general)
src/server/distrend.c
Show inline comments
 
@@ -858,7 +858,6 @@ int update_xml_joblist(struct general_in
 
  struct distrenjob *job;
 
  xmlTextWriterPtr writer;
 
  char *tmp;
 
  char *tmp2;
 
  int counter;
 

	
 
  /**
 
@@ -868,7 +867,11 @@ int update_xml_joblist(struct general_in
 
  if(geninfo->timestamp > 65530)
 
    geninfo->timestamp = 0;
 

	
 
  writer = xmlNewTextWriterFilename("job_list.xml", 0);
 
  _distren_asprintf(&tmp, "%s/job_list.xml",
 
		    geninfo->config->datadir);
 
  writer = xmlNewTextWriterFilename(tmp, 0);
 
  free(tmp);
 

	
 
  xmlTextWriterStartDocument(writer, NULL, "utf-8", NULL);
 

	
 
  /**
 
@@ -884,10 +887,8 @@ int update_xml_joblist(struct general_in
 
  counter = 0;
 
  for(job = geninfo->head.next; job; job = job->next)
 
    {
 
      _distren_asprintf(&tmp, "jobnum%d", counter);
 
      _distren_asprintf(&tmp2, "%d", job->jobnum);
 
      xmlTextWriterWriteElement(writer, (xmlChar*)tmp, (xmlChar*)tmp2);
 
      free(tmp2);
 
      _distren_asprintf(&tmp, "%d", job->jobnum);
 
      xmlTextWriterWriteElement(writer, (xmlChar*)"jobnum", (xmlChar*)tmp);
 
      free(tmp);
 

	
 
      /**
 
@@ -900,6 +901,8 @@ int update_xml_joblist(struct general_in
 
      counter++;
 
    }
 

	
 
  xmlTextWriterEndElement(writer);
 

	
 
  /**
 
     close elements and end document
 
  */
 
@@ -924,15 +927,23 @@ int createQueueFromXML(struct general_in
 
  xmlDocPtr doc;
 
  xmlNodePtr cur;
 

	
 
  char *xmllist_path;
 

	
 
  /**
 
     load xml document
 
  */
 
  doc = xmlParseFile("job_list.xml");
 

	
 
  _distren_asprintf(&xmllist_path, "%s/job_list.xml", geninfo->config->datadir);
 
  doc = xmlParseFile(xmllist_path);
 
  if(doc == NULL)
 
    {
 
      fprintf(stderr, "createQueueFromXML: document not found\n");
 
      fprintf(stderr, "createQueueFromXML: ``%s'' could not be not loaded\n",
 
	      xmllist_path);
 

	
 
      free(xmllist_path);
 
      return 1;
 
    }
 
  free(xmllist_path);
 

	
 
  /**
 
     have cur point to the root element of the xml document pointed to by doc
 
@@ -948,6 +959,8 @@ int createQueueFromXML(struct general_in
 
    {
 
      fprintf(stderr, "createQueueFromXML: incorrect root element (%s)", (char*)cur->name);
 
    }
 
  else
 
    fprintf(stderr, "USING %s\n", cur->name);
 

	
 
  /**
 
     moves into the children elements of job_list
src/server/distrenjob.c
Show inline comments
 
@@ -192,6 +192,14 @@ int distrenjob_unserialize(struct distre
 
      return 6;
 
    }
 

	
 
  tmp = _distrenjob_xml_readuint(xmlnode, (xmlChar *)"jobnum", &dj->jobnum);
 
  if(tmp)
 
    {
 
      distrenjob_free(distrenjob);
 
      
 
      return 7;
 
    }
 

	
 
  xmlnode = xml_quickxpath(xmlxpathcontext, (xmlChar *)"/job/resolution");
 
  tmp = _distrenjob_xml_readuint(xmlnode, (xmlChar *)"width"   , &dj->width   );
 
  tmp += _distrenjob_xml_readuint(xmlnode, (xmlChar *)"height"  , &dj->height  );
 
@@ -205,7 +213,7 @@ int distrenjob_unserialize(struct distre
 
      fprintf(stderr, "distrenjob_unserialize(): error reading integer values from ``%s''\n",
 
	      pathtoxml);
 
      distrenjob_free(distrenjob);
 
      return 7;
 
      return 8;
 
    }
 

	
 
  /**
 
@@ -243,7 +251,7 @@ int distrenjob_unserialize(struct distre
 
    {
 
      fprintf(stderr, "OOM!\n");
 
      distrenjob_free(distrenjob);
 
      return 8;
 
      return 9;
 
    }
 
  fs = dj->frameset;
 
  for(counter = start_frame; counter <= end_frame; counter ++)
 
@@ -286,6 +294,9 @@ int distrenjob_serialize(struct distrenj
 
  _distren_asprintf(&tmp, "%d", job->priority);
 
  xmlTextWriterWriteAttribute(writer, (xmlChar*)"priority", (xmlChar*)tmp);
 
  free(tmp);
 
  _distren_asprintf(&tmp, "%d", job->jobnum);
 
  xmlTextWriterWriteAttribute(writer, (xmlChar *)"jobnum", (xmlChar *)tmp);
 
  free(tmp);
 
  xmlTextWriterWriteAttribute(writer, (xmlChar *)"output_format", (xmlChar *)job->output_format);
 
  
 

	
0 comments (0 inline, 0 general)