Example #1
0
int
File_MakeSafeTemp(ConstUnicode tag,  // IN (OPT):
                  Unicode *presult)  // OUT:
{
   int fd;
   Unicode dir = NULL;
   Unicode fileName = NULL;

   ASSERT(presult);

   *presult = NULL;

   if (tag && File_IsFullPath(tag)) {
      File_GetPathName(tag, &dir, &fileName);
   } else {
      dir = File_GetSafeTmpDir(TRUE);
      fileName = Unicode_Duplicate(tag ? tag : "vmware");
   }

   fd = File_MakeTempEx(dir, fileName, presult);

   Unicode_Free(dir);
   Unicode_Free(fileName);

   return fd;
}
Example #2
0
Unicode
File_MakeSafeTempDir(ConstUnicode prefix)  // IN:
{
   Unicode result = NULL;
   Unicode dir = File_GetSafeTmpDir(TRUE);

   if (dir != NULL) {
      ConstUnicode effectivePrefix = (prefix == NULL) ? "safeDir" : prefix;

      File_MakeTempEx2(dir, FALSE, FileMakeTempExCreateNameFunc,
                       (void *) effectivePrefix, &result);

      Unicode_Free(dir);
   }

   return result;
}
Example #3
0
char *
File_MakeSafeTempDir(const char *prefix)  // IN:
{
   char *result = NULL;
   char *dir = File_GetSafeTmpDir(TRUE);

   if (dir != NULL) {
      const char *effectivePrefix = (prefix == NULL) ? "safeDir" : prefix;

      File_MakeTempEx2(dir, FALSE, FileMakeTempExCreateNameFunc,
                       (void *) effectivePrefix, &result);

      free(dir);
   }

   return result;
}