slw2gmi

Конвертор из slweb-а у Џемини
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

чување 202dfcf0e49a02d13d50ee79b135ed4178d17885
родитељ 1e9d665fdabdc931ea7c5940448466fbace4c965
Аутор: Страхиња Радић <contact@strahinja.org>
Датум:   Sat, 10 Jun 2023 22:00:58 +0200

Debug issue with incdir

Signed-off-by: Страхиња Радић <contact@strahinja.org>

Diffstat:
Mslw2gmi.c | 32+++++++++++++++++++-------------
измењених датотека: 1, додавања: 19(+), брисања: 13(-)

diff --git a/slw2gmi.c b/slw2gmi.c @@ -1513,11 +1513,6 @@ process_incdir_subdir(FILE* output, const char* subdirname, while (names_output < names_total) { int pstatus = 0; - char* basename = strip_ext((*pnamelist)->d_name); - char* link = NULL; - CALLOC(link, char, BUFSIZE); - - snprintf(link, BUFSIZE, "%s/%s", subdirname, basename); fflush(output); pid_t pid = fork(); @@ -1526,18 +1521,24 @@ process_incdir_subdir(FILE* output, const char* subdirname, wait(&pstatus); else if (pid == 0) { - char* filename = NULL; - set_basedir(&basedir, &basedir_size, abs_subdirname); - CALLOC(filename, char, BUFSIZE); - snprintf(filename, BUFSIZE, "%s/%s", abs_subdirname, - (*pnamelist)->d_name); - FILE* input = NULL; FILE* output = stdout; u8* buffer = NULL; size_t buffer_size = 0; int result = 0; ULLONG saved_state = ST_NONE; + char* filename = NULL; + char* basename = strip_ext((*pnamelist)->d_name); + char* link = NULL; + + CALLOC(link, char, BUFSIZE); + CALLOC(filename, char, BUFSIZE); + + snprintf(link, BUFSIZE, "%s/%s", subdirname, basename); + + set_basedir(&basedir, &basedir_size, abs_subdirname); + snprintf(filename, BUFSIZE, "%s/%s", abs_subdirname, + (*pnamelist)->d_name); read_file_into_buffer(&input, &buffer, &buffer_size, filename, &input_dirname); @@ -1589,6 +1590,9 @@ process_incdir_subdir(FILE* output, const char* subdirname, u8* date = get_value(vars, vars_count, (u8*)"date"); u8* title = get_value(vars, vars_count, (u8*)"title"); + fprintf(stderr, "DBG:title={%s},date={%s}\n", + title ? (char*)title : "(NULL)", + date ? (char*)date : "(NULL)"); if (title && date) process_timestamp(output, link_prefix, link, NULL, date, title); @@ -1624,8 +1628,6 @@ process_incdir_subdir(FILE* output, const char* subdirname, else exit(error(1, (u8*)"Fork failed")); - free(link); - free(basename); pnamelist++; names_output++; } @@ -1762,6 +1764,8 @@ process_timestamp(FILE* output, const u8* link_prefix, const char* link, day = (u8*)strtok_r(NULL, "T", (char**)&ptr); if (!day) goto process_timestamp_cleanup; + fprintf(stderr, "DBG:process_timestamp(%s): ymd passed\n", + title ? (char*)title : "(NULL)"); ptimestamp_format = timestamp_format; while (*ptimestamp_format) { @@ -1798,6 +1802,8 @@ process_timestamp(FILE* output, const u8* link_prefix, const char* link, output_firstcol = 1; process_timestamp_cleanup: + fprintf(stderr, "DBG:process_timestamp(%s): cleanup\n", + title ? (char*)title : "(NULL)"); free(formatted_date); free(in_line); free(in_filename);