thermferm/rdconfig.c

changeset 194
9eaaba49450f
parent 191
c74bbc24a1c8
child 206
78fb6f99e473
--- a/thermferm/rdconfig.c	Thu Aug 07 21:19:30 2014 +0200
+++ b/thermferm/rdconfig.c	Thu Aug 07 22:06:18 2014 +0200
@@ -389,6 +389,10 @@
 		    syslog(LOG_NOTICE, "wrconfig: error at xmlTextWriterWriteFormatElement");
 		    return 1;
 		}
+		if ((rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "PROF_PAUSED", "%d", (unsigned int)tmp3->prof_paused)) < 0) {
+		    syslog(LOG_NOTICE, "wrconfig: error at xmlTextWriterWriteFormatElement");
+		    return 1;
+		}
 		if ((rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "PROF_STATE", "%s", PROFSTATE[tmp3->prof_state] )) < 0) {
 		    syslog(LOG_NOTICE, "wrconfig: error at xmlTextWriterWriteFormatElement");
 		    return 1;
@@ -683,7 +687,7 @@
     unit->temp_set_max = 30.0;
     unit->idle_rangeH = 1.0;
     unit->idle_rangeL = -1.0;
-    unit->prof_started = (time_t)0;
+    unit->prof_started = unit->prof_paused = (time_t)0;
     unit->PID_err_old = unit->PID_I_err = 0.0;
 
     cur = cur->xmlChildrenNode;
@@ -806,6 +810,12 @@
 		unit->prof_started = ival;
 	    xmlFree(key);
 	}
+	if ((!xmlStrcmp(cur->name, (const xmlChar *)"PROF_PAUSED"))) {
+	    key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
+	    if (sscanf((const char *)key, "%d", &ival) == 1)
+		unit->prof_paused = ival;
+	    xmlFree(key);
+	}
 	if ((!xmlStrcmp(cur->name, (const xmlChar *)"PROF_STATE"))) {
 	    key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
 	    for (i = 0; i < 4; i++) {

mercurial