while (tmp[strlen(tmp)-1] != '\n' && (cp = fgets(tmp, 100, f)));
} else
line[strlen(line)-1] = '\0';
- if (line[strlen(line)-1] == '\r')
+ if (line[strlen(line)-1] == '\r')
line[strlen(line)-1] = '\0';
for (i=strlen(line);(line[i-1] == ' '||line[i-1] == '\t')&&i>0; i--)
line[i-1] = '\0';
fprintf(f, " %s\t%s\n", field, value);
}
+/*
+ * one date line, format it properly
+ */
+void printctlndate(FILE *f, char *field, char *value)
+{
+ char mydate[11];
+
+ if (!strlen(field) || !strlen(value))
+ return;
+
+ memset (mydate, 0, sizeof (mydate));
+ if (strlen (value) == 6) {
+ mydate[0] = value[0];
+ mydate[1] = value[1];
+ mydate[2] = '.';
+ mydate[3] = value[2];
+ mydate[4] = value[3];
+ mydate[5] = '.';
+ mydate[6] = value[4];
+ mydate[7] = value[5];
+ fprintf(f, " %s\t%s\n", field, mydate);
+ } else if (strlen (value) == 8) {
+ mydate[0] = value[0];
+ mydate[1] = value[1];
+ mydate[2] = '.';
+ mydate[3] = value[2];
+ mydate[4] = value[3];
+ mydate[5] = '.';
+ mydate[6] = value[4];
+ mydate[7] = value[5];
+ mydate[8] = value[6];
+ mydate[9] = value[7];
+ fprintf(f, " %s\t%s\n", field, mydate);
+ } else {
+ fprintf (stderr, "Broken date field: %s\n", value);
+ fprintf(f, " %s\t%s\n", field, value);
+ }
+}
+
/*
* Third: Some high level routines
#endif
bufp = buf + recA[index].pos;
memcpy(tmp, bufp, recA[index].len); tmp[recA[index].len] = '\0';
- printctln(fcontrol, recA[index].name, strip_zeros(strip_spaces(tmp)));
+ if (index == A_DATE || index == A_TODO)
+ printctlndate(fcontrol, recA[index].name, tmp);
+ else
+ printctln(fcontrol, recA[index].name, strip_zeros(strip_spaces(tmp)));
}
#ifndef DEFAULT_EURO
bufp = buf + recC[index].pos;
memcpy(tmp, bufp, recC[index].len); tmp[recC[index].len] = '\0';
#ifndef DEFAULT_EURO
- if (index == C_VAL || index == C_EUR)
-#else
- if (index == C_VAL)
+ if (index == C_EUR)
+ printctln(fcontrol, recC[C_VAL].name, strip_zeros(string2real(tmp)));
+ else
#endif
+ if (index == C_VAL)
printctln(fcontrol, recC[index].name, strip_zeros(string2real(tmp)));
else if (index == C_TRANS)
printctln(fcontrol, recC[index].name, strip_zeros(string2trans(tmp)));