diff --git a/setter/src/amiga/filename.c b/setter/src/amiga/filename.c index 16b15a4..6030e22 100644 --- a/setter/src/amiga/filename.c +++ b/setter/src/amiga/filename.c @@ -22,9 +22,66 @@ Aaru Data Preservation Suite Copyright (C) 2011-2021 Natalia Portillo *****************************************************************************/ +#include +#include +#include + +#include "../include/consts.h" #include "../include/defs.h" +#include "../log.h" void Filenames(const char* path) { - // TODO + BPTR pathLock; + BPTR dirLock; + int ret; + BPTR h; + int rc, wRc, cRc; + int pos; + char text[255]; + + pathLock = Lock((CONST_STRPTR)path, SHARED_LOCK); + + if(!pathLock) + { + log_write("Error %d changing to specified path.\n", IoErr()); + return; + } + + CurrentDir(pathLock); + + dirLock = CreateDir((CONST_STRPTR) "FILENAME"); + + if(!dirLock) + { + log_write("Error %d creating working directory.\n", IoErr()); + return; + } + + CurrentDir(dirLock); + + log_write("Creating files with different filenames.\n"); + + for(pos = 0; filenames[pos]; pos++) + { + h = Open((CONST_STRPTR)filenames[pos], MODE_NEWFILE); + rc = 0; + wRc = 0; + cRc = 0; + + if(!h) { rc = IoErr(); } + else + { + memset(text, 0, 255); + snprintf(text, 255, FILENAME_FORMAT, filenames[pos]); + ret = Write(h, text, strlen(text)); + + if(ret < 0) wRc = IoErr(); + + ret = Close(h); + if(!ret) cRc = IoErr(); + } + + log_write("\tFile name = \"%s\", rc = %d, wRc = %d, cRc = %d\n", filenames[pos], rc, wRc, cRc); + } }