From eaa09dbaa337228ae7d4c96b5cb814d0ab9e2ae5 Mon Sep 17 00:00:00 2001 From: Rob Swindell <rob@synchro.net> Date: Wed, 21 Apr 2021 18:40:57 -0700 Subject: [PATCH] Increase file_id.diz max line length from 80 to 255 Increase total extended description length from 1024 to 4000 characters. Perhaps this should be configurable? --- src/sbbs3/addfiles.c | 2 +- src/sbbs3/filedat.c | 4 ++-- src/sbbs3/filedat.h | 2 +- src/sbbs3/ftpsrvr.c | 2 +- src/sbbs3/js_filebase.c | 2 +- src/sbbs3/sbbsdefs.h | 4 ++-- src/sbbs3/upload.cpp | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/sbbs3/addfiles.c b/src/sbbs3/addfiles.c index d6a1236173..49ad3ad2cd 100644 --- a/src/sbbs3/addfiles.c +++ b/src/sbbs3/addfiles.c @@ -125,7 +125,7 @@ bool get_file_diz(file_t* f, char* ext, size_t maxlen) return false; } printf("Parsing DIZ: %s\n", diz_fpath); - str_list_t lines = read_diz(diz_fpath, /* max_line_len: */80); + str_list_t lines = read_diz(diz_fpath); format_diz(lines, ext, maxlen, /* allow_ansi: */false); strListFree(&lines); remove(diz_fpath); diff --git a/src/sbbs3/filedat.c b/src/sbbs3/filedat.c index f9ffb6015c..2e58056de0 100644 --- a/src/sbbs3/filedat.c +++ b/src/sbbs3/filedat.c @@ -923,13 +923,13 @@ bool extract_diz(scfg_t* cfg, file_t* f, str_list_t diz_fnames, char* path, size return false; } -str_list_t read_diz(const char* path, size_t max_line_len) +str_list_t read_diz(const char* path) { FILE* fp = fopen(path, "r"); if(fp == NULL) return NULL; - str_list_t lines = strListReadFile(fp, NULL, max_line_len); + str_list_t lines = strListReadFile(fp, NULL, /* max_line_len: */255); fclose(fp); return lines; } diff --git a/src/sbbs3/filedat.h b/src/sbbs3/filedat.h index 169c40aa13..04d24f13cc 100644 --- a/src/sbbs3/filedat.h +++ b/src/sbbs3/filedat.h @@ -56,7 +56,7 @@ DLLEXPORT bool addfile(scfg_t*, uint dirnum, file_t*, const char* extdesc); DLLEXPORT bool removefile(scfg_t*, uint dirnum, const char* filename); DLLEXPORT char* format_filename(const char* fname, char* buf, size_t, bool pad); DLLEXPORT bool extract_diz(scfg_t*, file_t*, str_list_t diz_fname, char* path, size_t); -DLLEXPORT str_list_t read_diz(const char* path, size_t max_line_len); +DLLEXPORT str_list_t read_diz(const char* path); DLLEXPORT char* format_diz(str_list_t lines, char*, size_t maxlen, bool allow_ansi); DLLEXPORT char* prep_file_desc(const char *src, char* dst); diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c index 18870ac956..11d86b747d 100644 --- a/src/sbbs3/ftpsrvr.c +++ b/src/sbbs3/ftpsrvr.c @@ -1075,7 +1075,7 @@ static void receive_thread(void* arg) lprintf(LOG_DEBUG,"%04d <%s> DATA Extracting DIZ from: %s",xfer.ctrl_sock, xfer.user->alias,xfer.filename); if(extract_diz(&scfg, &f, /* diz_fnames */NULL, tmp, sizeof(tmp))) { lprintf(LOG_DEBUG,"%04d <%s> DATA Parsing DIZ: %s",xfer.ctrl_sock, xfer.user->alias,tmp); - str_list_t lines = read_diz(tmp, /* max_line_len: */80); + str_list_t lines = read_diz(tmp); format_diz(lines, extdesc, sizeof(extdesc), /* allow_ansi: */false); strListFree(&lines); if(!fdesc[0]) { /* use for normal description */ diff --git a/src/sbbs3/js_filebase.c b/src/sbbs3/js_filebase.c index f6bfbd45c1..f984d21c3c 100644 --- a/src/sbbs3/js_filebase.c +++ b/src/sbbs3/js_filebase.c @@ -969,7 +969,7 @@ static void get_diz(scfg_t* scfg, file_t* file, char** extdesc) char diz_fpath[MAX_PATH + 1]; if(extract_diz(scfg, file, /* diz_fnames: */NULL, diz_fpath, sizeof(diz_fpath))) { char extbuf[LEN_EXTDESC + 1] = ""; - str_list_t lines = read_diz(diz_fpath, /* max_line_len: */80); + str_list_t lines = read_diz(diz_fpath); if(lines != NULL) { format_diz(lines, extbuf, sizeof(extbuf), /* allow_ansi: */false); strListFree(&lines); diff --git a/src/sbbs3/sbbsdefs.h b/src/sbbs3/sbbsdefs.h index 277b7c91ef..d20426e8ae 100644 --- a/src/sbbs3/sbbsdefs.h +++ b/src/sbbs3/sbbsdefs.h @@ -505,8 +505,8 @@ typedef enum { /* Values for xtrn_t.event */ #define LEN_LOCATION 30 /* Location (City, State) */ #define LEN_ZIPCODE 10 /* Zip/Postal code */ #define LEN_MODEM 8 /* User modem type description */ -#define LEN_FDESC 58 /* File description */ -#define LEN_EXTDESC 1024 /* extended file description */ +#define LEN_FDESC 58 /* File description (summary) */ +#define LEN_EXTDESC 4000 /* Extended file description */ #define LEN_TITLE 70 /* Message title */ #define LEN_MAIN_CMD 28 /* Unused Storage in user.dat */ #define LEN_COLS 3 diff --git a/src/sbbs3/upload.cpp b/src/sbbs3/upload.cpp index ec1d31c34d..2743d285b4 100644 --- a/src/sbbs3/upload.cpp +++ b/src/sbbs3/upload.cpp @@ -154,7 +154,7 @@ bool sbbs_t::uploadfile(file_t* f) if(extract_diz(&cfg, f, /* diz_fnames: */NULL, str, sizeof(str))) { lprintf(LOG_DEBUG, "Parsing DIZ: %s", str); - str_list_t lines = read_diz(str, /* max_line_len: */80); + str_list_t lines = read_diz(str); if(lines != NULL) format_diz(lines, ext, sizeof(ext), /* allow_ansi: */false); strListFree(&lines); -- GitLab