]> gitweb.hhaalo.de Git - feierabend.git/commitdiff
add init time account
authorBastian Dehn <hhaalo@arcor.de>
Sat, 22 Jun 2024 08:18:53 +0000 (10:18 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sat, 22 Jun 2024 08:18:53 +0000 (10:18 +0200)
src/feierabendxml.c

index c7c38a17146397942b9dff56aa9ce1830e2f9ea1..2a5d2c2e97e6f4ce44b945a6c6b15b5e816992e8 100644 (file)
@@ -32,10 +32,56 @@ void free_feierabend(feierabend* fabend)
        fabend->timestr = NULL;
 }
 
+void initTimeAcount()
+{
+       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;
+
+       xmlTextWriterEndElement(xmlWriter);
+       xmlTextWriterEndDocument(xmlWriter);
+
+       free(xmlElemContent);
+       xmlElemContent = NULL;
+       free(xmlElemName);
+       xmlElemName = NULL;
+       xmlFreeTextWriter(xmlWriter);
+       xmlWriter = 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;
        }
 
@@ -59,7 +105,7 @@ int main(int argc, char* argv[])
        free(xmlElemName);
        xmlElemName = NULL;
 
-       xmlElemName = xmlCharStrdup("saldo");
+       xmlElemName = xmlCharStrdup("anfangssaldo");
        xmlElemContent = xmlCharStrdup("00:00");
        xmlTextWriterWriteAttribute(xmlWriter, xmlElemName, xmlElemContent);
        free(xmlElemName);