From 2a5257209a9bd874a112d2d75d696a5049c6c5cd Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Wed, 11 Apr 2001 03:37:52 +0000 Subject: [PATCH] get/putextdesc functions converted from C++ to C (for DLL exportability) --- src/sbbs3/file.cpp | 33 +-------------------------------- src/sbbs3/filedat.c | 30 ++++++++++++++++++++++++++++++ src/sbbs3/sbbs.h | 5 +++-- 3 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/sbbs3/file.cpp b/src/sbbs3/file.cpp index 69262cf63d..784e610ebd 100644 --- a/src/sbbs3/file.cpp +++ b/src/sbbs3/file.cpp @@ -37,37 +37,6 @@ #include "sbbs.h" -void sbbs_t::getextdesc(uint dirnum, ulong datoffset, char *ext) -{ - char str[256]; - int file; - - memset(ext,0,513); - sprintf(str,"%s%s.exb",cfg.dir[dirnum]->data_dir,cfg.dir[dirnum]->code); - if((file=nopen(str,O_RDONLY))==-1) - return; - lseek(file,(datoffset/F_LEN)*512L,SEEK_SET); - read(file,ext,512); - close(file); - } - - void sbbs_t::putextdesc(uint dirnum, ulong datoffset, char *ext) - { - char str[256],nulbuf[512]; - int file; - - memset(nulbuf,0,512); - sprintf(str,"%s%s.exb",cfg.dir[dirnum]->data_dir,cfg.dir[dirnum]->code); - if((file=nopen(str,O_WRONLY|O_CREAT))==-1) - return; - lseek(file,0L,SEEK_END); - while(filelength(file)<(long)(datoffset/F_LEN)*512L) - write(file,nulbuf,512); - lseek(file,(datoffset/F_LEN)*512L,SEEK_SET); - write(file,ext,512); - close(file); -} - /****************************************************************************/ /* Prints all information of file in file_t structure 'f' */ /****************************************************************************/ @@ -108,7 +77,7 @@ void sbbs_t::fileinfo(file_t* f) bprintf(text[InvalidAlternatePathN],f->altpath); } CRLF; if(f->misc&FM_EXTDESC) { - getextdesc(f->dir,f->datoffset,ext); + getextdesc(&cfg,f->dir,f->datoffset,ext); CRLF; putmsg(ext,P_NOATCODES); CRLF; } diff --git a/src/sbbs3/filedat.c b/src/sbbs3/filedat.c index b415b37474..cdac690936 100644 --- a/src/sbbs3/filedat.c +++ b/src/sbbs3/filedat.c @@ -637,3 +637,33 @@ BOOL DLLCALL rmuserxfers(scfg_t* cfg, int fromuser, int destuser, char *fname) return(TRUE); } +void DLLCALL getextdesc(scfg_t* cfg, uint dirnum, ulong datoffset, char *ext) +{ + char str[256]; + int file; + + memset(ext,0,513); + sprintf(str,"%s%s.exb",cfg->dir[dirnum]->data_dir,cfg->dir[dirnum]->code); + if((file=nopen(str,O_RDONLY))==-1) + return; + lseek(file,(datoffset/F_LEN)*512L,SEEK_SET); + read(file,ext,512); + close(file); +} + +void DLLCALL putextdesc(scfg_t* cfg, uint dirnum, ulong datoffset, char *ext) +{ + char str[256],nulbuf[512]; + int file; + + memset(nulbuf,0,sizeof(nulbuf)); + sprintf(str,"%s%s.exb",cfg->dir[dirnum]->data_dir,cfg->dir[dirnum]->code); + if((file=nopen(str,O_WRONLY|O_CREAT))==-1) + return; + lseek(file,0L,SEEK_END); + while(filelength(file)<(long)(datoffset/F_LEN)*512L) + write(file,nulbuf,512); + lseek(file,(datoffset/F_LEN)*512L,SEEK_SET); + write(file,ext,512); + close(file); +} diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h index b8edf03dde..ae806a56d8 100644 --- a/src/sbbs3/sbbs.h +++ b/src/sbbs3/sbbs.h @@ -548,8 +548,6 @@ public: void fileinfo(file_t* f); void openfile(file_t* f); void closefile(file_t* f); - void putextdesc(uint dirnum, ulong datoffset, char *ext); - void getextdesc(uint dirnum, ulong datoffset, char *ext); bool removefcdt(file_t* f); bool movefile(file_t* f, int newdir); char * getfilespec(char *str); @@ -729,6 +727,9 @@ extern "C" { DLLEXPORT BOOL DLLCALL getfileixb(scfg_t* cfg, file_t* f); DLLEXPORT BOOL DLLCALL getfiledat(scfg_t* cfg, file_t* f); DLLEXPORT BOOL DLLCALL putfiledat(scfg_t* cfg, file_t* f); + DLLEXPORT void DLLCALL putextdesc(scfg_t* cfg, uint dirnum, ulong datoffset, char *ext); + DLLEXPORT void DLLCALL getextdesc(scfg_t* cfg, uint dirnum, ulong datoffset, char *ext); + DLLEXPORT BOOL DLLCALL removefiledat(scfg_t* cfg, file_t* f); DLLEXPORT BOOL DLLCALL addfiledat(scfg_t* cfg, file_t* f); DLLEXPORT BOOL DLLCALL findfile(scfg_t* cfg, uint dirnum, char *filename); -- GitLab