xmlWriter = NULL;
}
-int main(int argc, char* argv[])
+void addEntryNode(xmlTextWriterPtr xmlWriter,
+ int begin_hour,
+ int begin_min,
+ int end_hour,
+ int end_min)
{
- if (argc == 2) {
- if (strcmp(argv[1], "init") == 0) {
- initTimeAcount();
- return 0;
- }
- }
-
- if (argc < 5) {
- printf("ERROR: %s <begin_hours> <begin_minutes> <end_hours> <end_minutes>\n", argv[0]);
- printf("ERROR: %s init\n", argv[0]);
- return 1;
- }
-
feierabend* fabend = malloc(sizeof(feierabend));
init_feierabend(fabend);
xmlChar* xmlElemName = NULL;
xmlChar* xmlElemContent = NULL;
char* value = malloc(sizeof(char) * MAX_STRING_LENGTH);
- xmlTextWriterPtr xmlWriter = xmlNewTextWriterFilename("/dev/stdout", 0);
- xmlTextWriterSetIndent(xmlWriter, 8);
- xmlElemContent = xmlCharStrdup("\t");
- xmlTextWriterSetIndentString(xmlWriter, xmlElemContent);
- free(xmlElemContent);
- xmlElemContent = NULL;
-
- xmlTextWriterStartDocument(xmlWriter, "1.0", "UTF-8", "true");
-
- xmlElemName = xmlCharStrdup("zeitkonto");
- xmlTextWriterStartElement(xmlWriter, xmlElemName);
- free(xmlElemName);
- xmlElemName = NULL;
-
- xmlElemName = xmlCharStrdup("anfangssaldo");
- xmlElemContent = xmlCharStrdup("00:00");
- xmlTextWriterWriteAttribute(xmlWriter, xmlElemName, xmlElemContent);
- free(xmlElemName);
- xmlElemName = NULL;
- free(xmlElemContent);
- xmlElemContent = NULL;
-
xmlElemName = xmlCharStrdup("eintrag");
xmlTextWriterStartElement(xmlWriter, xmlElemName);
free(xmlElemName);
time(fabend->now);
fabend->now_tm = gmtime(fabend->now);
- fabend->now_tm->tm_hour = atoi(argv[3]);
- fabend->now_tm->tm_min = atoi(argv[4]);
+ fabend->now_tm->tm_hour = end_hour;
+ fabend->now_tm->tm_min = end_min;
*fabend->now = mktime(fabend->now_tm);
get_short_weekday(fabend->now_tm->tm_wday, value);
xmlElemName = xmlCharStrdup("wochentag");
time(fabend->begin);
fabend->begin_tm = gmtime(fabend->begin);
- fabend->begin_tm->tm_hour = atoi(argv[1]);
- fabend->begin_tm->tm_min = atoi(argv[2]);
+ fabend->begin_tm->tm_hour = begin_hour;
+ fabend->begin_tm->tm_min = begin_min;
sprintf(value, "%02d:%02d",
fabend->begin_tm->tm_hour,
fabend->begin_tm->tm_min);
*fabend->worktime = get_eight_hour_end_worktime(*fabend->begin);
fabend->work_end_tm = gmtime(fabend->worktime);
- fabend->work_end_tm->tm_hour = atoi(argv[3]);
- fabend->work_end_tm->tm_min = atoi(argv[4]);
+ fabend->work_end_tm->tm_hour = end_hour;
+ fabend->work_end_tm->tm_min = end_min;
sprintf(value, "%02d:%02d",
fabend->work_end_tm->tm_hour,
fabend->work_end_tm->tm_min);
xmlElemContent = NULL;
xmlTextWriterEndElement(xmlWriter);
- xmlTextWriterEndElement(xmlWriter);
- xmlTextWriterEndDocument(xmlWriter);
free(value);
value = NULL;
xmlElemContent = NULL;
free(xmlElemName);
xmlElemName = NULL;
- xmlFreeTextWriter(xmlWriter);
- xmlWriter = NULL;
free_feierabend(fabend);
free(fabend);
fabend = NULL;
+}
+
+int main(int argc, char* argv[])
+{
+ if (argc == 2) {
+ if (strcmp(argv[1], "init") == 0) {
+ initTimeAcount();
+ return 0;
+ }
+ }
+
+ if (argc < 5) {
+ printf("ERROR: %s <begin_hours> <begin_minutes> <end_hours> <end_minutes>\n", argv[0]);
+ printf("ERROR: %s init\n", argv[0]);
+ return 1;
+ }
+
+ xmlChar* xmlElemName = NULL;
+ xmlChar* xmlElemContent = NULL;
+
+ xmlTextWriterPtr xmlWriter = xmlNewTextWriterFilename("/dev/stdout", 0);
+ xmlTextWriterSetIndent(xmlWriter, 8);
+ xmlElemContent = xmlCharStrdup("\t");
+ xmlTextWriterSetIndentString(xmlWriter, xmlElemContent);
+ free(xmlElemContent);
+ xmlElemContent = NULL;
+
+ xmlTextWriterStartDocument(xmlWriter, "1.0", "UTF-8", "true");
+
+ xmlElemName = xmlCharStrdup("zeitkonto");
+ xmlTextWriterStartElement(xmlWriter, xmlElemName);
+ free(xmlElemName);
+ xmlElemName = NULL;
+
+ xmlElemName = xmlCharStrdup("anfangssaldo");
+ xmlElemContent = xmlCharStrdup("00:00");
+ xmlTextWriterWriteAttribute(xmlWriter, xmlElemName, xmlElemContent);
+ free(xmlElemName);
+ xmlElemName = NULL;
+ free(xmlElemContent);
+ xmlElemContent = NULL;
+
+ addEntryNode(xmlWriter, atoi(argv[1]), atoi(argv[2]), atoi(argv[3]), atoi(argv[4]));
+
+ xmlTextWriterEndElement(xmlWriter);
+ xmlTextWriterEndDocument(xmlWriter);
+
+ free(xmlElemContent);
+ xmlElemContent = NULL;
+ free(xmlElemName);
+ xmlElemName = NULL;
+ xmlFreeTextWriter(xmlWriter);
+ xmlWriter = NULL;
return 0;
}
\ No newline at end of file