コード例 #1
0
ファイル: ctohtml.c プロジェクト: HarryR/sanos
void convert_directory(char *path) {
  struct dirent *dp;
  DIR *dirp;
  char filename[NAME_MAX + 1];
  char dirname[NAME_MAX + 1];
  struct stat st;

  strcpy(dirname, output_dir);
  if (strlen(path) > source_prefix_len) {
    strcat(dirname, "/");
    strcat(dirname, path + source_prefix_len);
  }
  mkdir(dirname, 0644);

  dirp = opendir(path);
  if (!dirp) return;
  while ((dp = readdir(dirp))) {
    if (strcmp(dp->d_name, ".") == 0) continue;
    if (strcmp(dp->d_name, "..") == 0) continue;
    if (strcmp(dp->d_name, "CVS") == 0) continue;
    
    strcpy(filename, path);
    strcat(filename, "/");
    strcat(filename, dp->d_name);
    if (stat(filename, &st) < 0) continue;
    if (S_ISDIR(st.st_mode)) convert_directory(filename);
    if (S_ISREG(st.st_mode)) convert_file(filename);
  }
  closedir(dirp);
}
コード例 #2
0
ファイル: ctohtml.c プロジェクト: HarryR/sanos
int main(int argc, char *argv[]) {
  int c, i;

  // Parse command line options
  while ((c = getopt(argc, argv, "d:c:i:o:hlt:")) != EOF) {
    switch (c) {
      case 'd':
        source_dir = optarg;
        break;

      case 'c':
        ctags_file = optarg;
        break;

      case 'o':
        output_dir = optarg;
        break;

      case 'i':
        title = include_dir;
        break;
        
      case 'l':
        source_index = 1;
        break;

      case 't':
        title = optarg;
        break;

      case 'h':
      default:
        usage();
        return 1;
    }
  }
  if (!source_dir) {
    usage();
    return 1;
  }

  // Read CTAGS file
  if (ctags_file != NULL) read_ctags(ctags_file);
  
  // Convert all source files
  source_prefix_len = strlen(source_dir) + 1;
  convert_directory(source_dir);
  
  // Deallocate tags
  for (i = 0; i < num_tags; ++i) {
    free(tags[i]->name);
    free(tags[i]->file);
    free(tags[i]);
  }
  if (tags) free(tags);
  
  return 0;
}
コード例 #3
0
ファイル: OdfFileWTest.cpp プロジェクト: ShockwaveNN/core
int _tmain(int argc, _TCHAR* argv[])
{
	if (argc < 2) return 1;

	HRESULT hr = -1;
	if (NSFile::CFileBinary::Exists(argv[1]))
	{	
		hr = convert_single(argv[1]);
	}
	else if (NSDirectory::Exists(argv[1]))
	{
		hr = convert_directory(argv[1]);
	}

	return hr;
}
コード例 #4
0
ファイル: PptFormatTest.cpp プロジェクト: ONLYOFFICE/core
int _tmain(int argc, _TCHAR* argv[])
{
//#ifdef _DEBUG
//		_CrtDumpMemoryLeaks();
//#endif

	if (argc < 2) return 1;

	HRESULT hr = -1;
	if (NSFile::CFileBinary::Exists(argv[1]))
	{	
		hr = convert_single(argv[1]);
	}
	else if (NSDirectory::Exists(argv[1]))
	{
		hr = convert_directory(argv[1]);
	}

	return hr;
}