still messy

This commit is contained in:
bjt-user 2024-01-20 20:28:28 +01:00
parent ecfae506c9
commit f874fb99a6
2 changed files with 10 additions and 9 deletions

View File

@ -5,11 +5,12 @@
#include <string.h>
#include <assert.h>
#include <ctype.h>
#include <stdio.h>
void parse_event(char event_string[], struct event **head) {
char *start_date = strstr(event_string, "\r\nDTSTART");
char *end_date = strstr(event_string, "\r\nDTEND");
char *summary = strstr(event_string, "\r\nSUMMARY");
char *start_date = strstr(event_string, "\nDTSTART");
char *end_date = strstr(event_string, "\nDTEND");
char *summary = strstr(event_string, "\nSUMMARY");
char *start_date_str = malloc(256);
char *end_date_str = malloc(256);
@ -23,11 +24,11 @@ void parse_event(char event_string[], struct event **head) {
assert(end_date != NULL);
assert(summary != NULL);
strncpy(start_date_str, start_date, strchr(start_date, '\r') - start_date);
strncpy(start_date_str, start_date, strchr(start_date + 1, '\n') - start_date);
strncpy(end_date_str, end_date, strchr(end_date, '\r') - end_date);
strncpy(end_date_str, end_date, strchr(end_date + 1, '\n') - end_date);
strncpy(summary_str, summary, strchr(summary, '\r') - summary);
strncpy(summary_str, summary, strchr(summary + 1, '\n') - summary);
// parse dates
remove_whitespace(start_date_str);
@ -51,8 +52,6 @@ void unfolding_string(char* folded_string, char* unfolded_string) {
if (folded_string[i] == '\r' && folded_string[i+1] == '\n') {
while (isblank(folded_string[i+2])) {
i++;
if (! isblank(folded_string[i+2]))
folded_string[i+1] = ';';
}
} else {
unfolded_string[j] = folded_string[i];

View File

@ -9,7 +9,9 @@ UID:ical-19709628-example-com
DTSTART;VALUE=DATE:20250622T000000
DTEND;VALUE=DATE:20250711T000000
TRANSP:TRANSPARENT
SUMMARY:vacation (approved)
SUMMARY:vacation
(approved)
(again)
DESCRIPTION:vacation\n\n
status: approved\n
workdays: 13,0\n\n