Ejemplo n.º 1
0
static int _testCopyInvalidFileToDirectory(void) {
  CharString tempDir = _fileUtilitiesMakeTempDir();
  CharString testFilename = newCharStringWithCString(TEST_FILENAME);
  CharString invalid = newCharStringWithCString("invalid");

  convertRelativePathToAbsolute(testFilename, invalid);
  assertFalse(copyFileToDirectory(invalid, tempDir));
  removeDirectory(tempDir);

  freeCharString(testFilename);
  freeCharString(tempDir);
  freeCharString(invalid);
  return 0;
}
Ejemplo n.º 2
0
static int _testCopyFileToInvalidDirectory(void) {
  CharString tempFile = newCharString();
  CharString testFilename = newCharStringWithCString(TEST_FILENAME);
  CharString invalid = newCharStringWithCString("invalid");
  FILE *fp = fopen(TEST_FILENAME, "w");

  assertNotNull(fp);
  fclose(fp);
  convertRelativePathToAbsolute(testFilename, tempFile);
  assertFalse(copyFileToDirectory(tempFile, invalid));

  unlink(TEST_FILENAME);
  freeCharString(tempFile);
  freeCharString(testFilename);
  freeCharString(invalid);
  return 0;
}
Ejemplo n.º 3
0
static int _testCopyFileToDirectory(void) {
  CharString tempDir = _fileUtilitiesMakeTempDir();
  CharString tempFile = newCharString();
  CharString testFilename = newCharStringWithCString(TEST_FILENAME);

  FILE *fp = fopen(TEST_FILENAME, "w");
  assertNotNull(fp);
  fclose(fp);
  convertRelativePathToAbsolute(testFilename, tempFile);
  assert(copyFileToDirectory(tempFile, tempDir));
  assert(removeDirectory(tempDir));

  unlink(TEST_FILENAME);
  freeCharString(tempDir);
  freeCharString(tempFile);
  freeCharString(testFilename);
  return 0;
}
Ejemplo n.º 4
0
void buildAbsolutePath(const CharString directory, const CharString file, const char* fileExtension, CharString outString) {
  const char* extension;
  CharString absoluteDirectory;

  if(directory == NULL || charStringIsEmpty(directory)) {
    logWarn("Attempt to build absolute path with empty directory");
    return;
  }
  if(file == NULL || charStringIsEmpty(file)) {
    logWarn("Attempt to build absolute path with empty file");
    return;
  }

  absoluteDirectory = newCharString();
  if(isAbsolutePath(directory)) {
    charStringCopy(absoluteDirectory, directory);
  }
  else {
    convertRelativePathToAbsolute(directory, absoluteDirectory);
  }

  if(fileExtension != NULL) {
    // Ignore attempts to append the same extension as is already on the file
    extension = getFileExtension(file->data);
    if(extension != NULL && !strncasecmp(extension, fileExtension, strlen(extension))) {
      buildAbsolutePath(absoluteDirectory, file, NULL, outString);
    }
    else {
      snprintf(outString->data, outString->length, "%s%c%s.%s",
        absoluteDirectory->data, PATH_DELIMITER, file->data, fileExtension);
    }
  }
  else {
    snprintf(outString->data, outString->length, "%s%c%s",
      absoluteDirectory->data, PATH_DELIMITER, file->data);
  }

  freeCharString(absoluteDirectory);
}