} }
FIO_freeCResources(ress);
- UTIL_freeDestinationFilenameTable(dstFileNamesTable, nbFiles);
+ if (outDirName)
+ UTIL_freeDestinationFilenameTable(dstFileNamesTable, nbFiles);
+
return error;
}
}
FIO_freeDResources(ress);
- UTIL_freeDestinationFilenameTable(dstFileNamesTable, nbFiles);
- return error;
-}
-
-void FIO_processMultipleFilenameDestinationDir(char** dstFilenameTable,
- const char** filenameTable, unsigned filenameIdx,
- const char* outFileName, const char* outDirName) {
- int dirResult;
- dirResult = UTIL_createDir(outDirName);
- if (dirResult)
- DISPLAY("Directory creation unsuccessful \n");
+ if (outDirName)
+ UTIL_freeDestinationFilenameTable(dstFileNamesTable, nbFiles);
- UTIL_createDestinationDirTable(filenameTable, filenameIdx, outDirName, dstFilenameTable);
- if (outFileName) {
- outFileName = dstFilenameTable[0]; /* in case -O is called with single file */
- }
+ return error;
}
/* **************************************************************************
const char* outFileName,
const char* dictFileName);
-void FIO_processMultipleFilenameDestinationDir(char** dstFilenameTable,
- const char** filenameTable, unsigned filenameIdx,
- const char* outFileName, const char* outDirName);
-
/*-*************************************
* Advanced stuff (should actually be hosted elsewhere)
}
}
+void UTIL_processMultipleFilenameDestinationDir(char** dstFilenameTable,
+ const char** filenameTable, unsigned filenameIdx,
+ const char* outFileName, const char* outDirName) {
+ int dirResult;
+ dirResult = UTIL_createDir(outDirName);
+ if (dirResult)
+ UTIL_DISPLAYLEVEL(1, "Directory creation unsuccessful\n");
+
+ UTIL_createDestinationDirTable(filenameTable, filenameIdx, outDirName, dstFilenameTable);
+ if (outFileName) {
+ outFileName = dstFilenameTable[0]; /* in case -O is called with single file */
+ }
+}
+
void UTIL_freeDestinationFilenameTable(char** dstDirTable, unsigned nbFiles) {
unsigned u;
for (u = 0; u < nbFiles; ++u) {
void UTIL_createDestinationDirTable(const char** filenameTable, unsigned filenameIdx,
const char* outDirName, char** dstFilenameTable);
void UTIL_freeDestinationFilenameTable(char** dstDirTable, unsigned nbFiles);
+void UTIL_processMultipleFilenameDestinationDir(char** dstFilenameTable,
+ const char** filenameTable, unsigned filenameIdx,
+ const char* outFileName, const char* outDirName);
U32 UTIL_isLink(const char* infilename);
#define UTIL_FILESIZE_UNKNOWN ((U64)(-1))
if (adaptMax < cLevel) cLevel = adaptMax;
if (outDirName) {
+ printf("ok\n");
dstFilenameTable = (char**)malloc(filenameIdx * sizeof(char*));
- FIO_processMultipleFilenameDestinationDir(dstFilenameTable, filenameTable, filenameIdx, outFileName, outDirName);
+ UTIL_processMultipleFilenameDestinationDir(dstFilenameTable, filenameTable, filenameIdx, outFileName, outDirName);
}
if ((filenameIdx==1) && outFileName)
if (outDirName) {
dstFilenameTable = (char**)malloc(filenameIdx * sizeof(char*));
- FIO_processMultipleFilenameDestinationDir(dstFilenameTable, filenameTable, filenameIdx, outFileName, outDirName);
+ UTIL_processMultipleFilenameDestinationDir(dstFilenameTable, filenameTable, filenameIdx, outFileName, outDirName);
}
if (filenameIdx==1 && outFileName)
operationResult = FIO_decompressFilename(prefs, outFileName, filenameTable[0], dictFileName);