2eb4c6d91873ad7c8f68f8e2e419e3382d46a16f tdreszer Thu Oct 20 17:37:48 2011 -0700 Added file list caching to hgFileUi and extended the filterBox logic to include non-multiSelect options. Redmine 5527 for the fileBoxes. diff --git src/hg/lib/trashDir.c src/hg/lib/trashDir.c index dc76e18..58b0096 100644 --- src/hg/lib/trashDir.c +++ src/hg/lib/trashDir.c @@ -40,32 +40,33 @@ boolean trashDirReusableFile(struct tempName *tn, char *dirName, char *base, char *suffix) /* obtain a resusable trash file name as trash/dirName/base.suffix * returns TRUE if already exists. */ { trashDirFile(tn,dirName,base,suffix); // Don't really want the randomized name. char *cgiName = rStringIn("/",tn->forCgi ); char *htmlName = rStringIn("/",tn->forHtml); if (cgiName == NULL) cgiName = rStringIn("\\",tn->forCgi); assert(cgiName != NULL && htmlName != NULL); cgiName += 1; htmlName += 1; -safef(cgiName, strlen(cgiName), "%s%s", base, suffix); // There is room, since tempName is base_*.suffix -safef(htmlName,strlen(htmlName),"%s%s", base, suffix); +boolean addDot = (*suffix != '.'); +safef(cgiName, strlen(cgiName), "%s%s%s", base, (addDot?".":""),suffix); // There is room, since tempName is base_*.suffix +safef(htmlName,strlen(htmlName),"%s%s%s", base, (addDot?".":""),suffix); // exists? return fileExists(tn->forCgi); } void copyFileToTrash(char **pFileName, char *dirName, char *base, char *suffix) /* If *pFileName is not NULL and exists, then create a new file in the * given dirName of trash/ with the given base and suffix, copy *pFileName's * contents to it, and set *pFileName to the new filename. */ { if (pFileName != NULL && *pFileName != NULL) { if (fileExists(*pFileName)) { FILE *fIn = mustOpen(*pFileName, "r");