int IDriveRenameFile(TFileStore *FS, char *FromArg, char *ToArg) { char *Tempstr=NULL, *Error=NULL, *FromPath=NULL, *ToPath=NULL; HTTPInfoStruct *Info; ListNode *Headers; int result, val; STREAM *S; FromPath=MakeFullPath(FromPath,FS, FromArg); ToPath=MakeFullPath(ToPath,FS, ToArg); Tempstr=MCopyStr(Tempstr,"https://",FS->Host,"/evs/renameFileFolder?uid=",FS->Logon,"&pwd=",FS->Passwd,"&oldpath=",FromPath,"&newpath=",ToPath,NULL); S=HTTPMethod("POST",Tempstr,"","","","",0); val=HTTPReadDocument(S, &Tempstr); if (Settings.Flags & FLAG_VERBOSE) printf("\n%s\n",Tempstr); Error=CopyStr(Error,""); result=IDriveParseStatusResponse(Tempstr, &Error); DestroyString(Tempstr); DestroyString(Error); DestroyString(FromPath); DestroyString(ToPath); return(result); }
char *PrintFlowSize(struct fileentry *fe) { static char buf[50]; char fullfile[200],line[200]; osFile os; struct osFileEntry *osfe; uint32_t files,bytes; files=0; bytes=0; MakeFullPath(cfg_Dir,fe->file,fullfile,200); if(!(os=osOpen(fullfile,MODE_OLDFILE))) { sprintf(buf,"?/?"); return(buf); } while(osFGets(os,line,200)) { strip(line); if(line[0]) { if(line[0] == '#' || line[0] == '^' || line[0] == '-') strcpy(line,&line[1]); if(stricmp(GetFilePart(line),line) == 0) { /* No path specified */ MakeFullPath(fe->dir,line,fullfile,200); osfe=osGetFileEntry(fullfile); } else { osfe=osGetFileEntry(line); } if(osfe) { files++; bytes+=osfe->Size; TotalFiles++; TotalBytes+=osfe->Size; osFree(osfe); } } } osClose(os); sprintf(buf,"%s/%u",unit(bytes),files); return(buf); }
void DisplayFlowContents(struct fileentry *fe) { char size[40],*todo; char fullfile[200],line[200]; osFile os; struct osFileEntry *osfe; MakeFullPath(cfg_Dir,fe->file,fullfile,200); if(!(os=osOpen(fullfile,MODE_OLDFILE))) { printf("Failed to open file\n"); } else { while(osFGets(os,line,200)) { strip(line); if(line[0]) { todo=""; if(line[0] == '#' || line[0] == '^') todo="(To be truncated)"; if(line[0] == '-') todo="(To be deleted)"; if(line[0] == '#' || line[0] == '^' || line[0] == '-') strcpy(line,&line[1]); if(stricmp(GetFilePart(line),line) == 0) { /* No path specified */ MakeFullPath(fe->dir,line,fullfile,200); osfe=osGetFileEntry(fullfile); } else { osfe=osGetFileEntry(line); } strcpy(size,"Not found"); if(osfe) { sprintf(size, "%s", unit(osfe->Size)); osFree(osfe); } printf(" %-39.39s %10s %s\n",line,size,todo); } } osClose(os); } printf("\n"); }
void CPPageExternalFilters::OnAddRegistered() { CRegFilterChooserDlg dlg(this); if (dlg.DoModal() == IDOK) { while (!dlg.m_filters.IsEmpty()) { if (FilterOverride* f = dlg.m_filters.RemoveHead()) { CAutoPtr<FilterOverride> p(f); CString name = f->name; if (f->type == FilterOverride::EXTERNAL) { if (!PathUtils::Exists(MakeFullPath(f->path))) { name += _T(" <not found!>"); } } int i = m_filters.InsertItem(m_filters.GetItemCount(), name); m_filters.SetItemData(i, reinterpret_cast<DWORD_PTR>(m_pFilters.AddTail(p))); m_filters.SetCheck(i, 1); if (dlg.m_filters.IsEmpty()) { m_filters.SetItemState(i, LVIS_SELECTED, LVIS_SELECTED); m_filters.SetSelectionMark(i); OnFilterSelectionChange(); } m_filters.SetColumnWidth(0, LVSCW_AUTOSIZE); SetModified(); } } } }
char *PrintReqNums(struct fileentry *fe) { static char buf[50]; char fullfile[200],line[200]; osFile os; uint32_t reqs; reqs=0; MakeFullPath(cfg_Dir,fe->file,fullfile,200); if(!(os=osOpen(fullfile,MODE_OLDFILE))) { sprintf(buf,"?/?"); return(buf); } while(osFGets(os,line,200)) { strip(line); if(line[0]) { reqs++; TotalRequests++; } } sprintf(buf,"-/%u",reqs); return(buf); }
void DisplayReqContents(struct fileentry *fe) { char fullfile[200],line[200]; osFile os; MakeFullPath(cfg_Dir,fe->file,fullfile,200); if(!(os=osOpen(fullfile,MODE_OLDFILE))) { printf("Failed to open file\n"); } else { while(osFGets(os,line,200)) { strip(line); if(line[0]) printf(" %s\n",line); } osClose(os); } printf("\n"); }
void CPPageExternalFilters::OnAddRegistered() { CRegFilterChooserDlg dlg(this); if (dlg.DoModal() == IDOK) { while (!dlg.m_filters.IsEmpty()) { if (FilterOverride* f = dlg.m_filters.RemoveHead()) { CAutoPtr<FilterOverride> p(f); CString name = f->name; if (f->type == FilterOverride::EXTERNAL) { if (!PathUtils::Exists(MakeFullPath(f->path))) { name += _T(" <not found!>"); } } int i = m_filters.AddString(name); m_filters.SetItemDataPtr(i, m_pFilters.AddTail(p)); m_filters.SetCheck(i, 1); if (dlg.m_filters.IsEmpty()) { m_filters.SetCurSel(i); OnFilterSelectionChange(); } SetModified(); } } } }
long Cx_PluginLoader::LoadPlugins(const wchar_t* path, const wchar_t* ext, bool recursive, bool enableDelayLoading) { wchar_t fullpath[MAX_PATH]; std::vector<std::wstring> filenames; MakeFullPath(fullpath, NULL, path); FindPlugins(filenames, fullpath, ext, recursive); return InLoadPlugins(filenames, enableDelayLoading); }
long Cx_PluginLoader::LoadPlugins(HMODULE instance, const wchar_t* path, const wchar_t* ext, bool recursive, bool enableDelayLoading) { wchar_t fullpath[MAX_PATH]; m_instance = instance; MakeFullPath(fullpath, instance, path); return LoadPlugins(fullpath, ext, recursive, enableDelayLoading); }
Boolean IsDirectory(char *path, char *file) { char fullpath[PATH_MAX]; struct stat statbuf; if (file == NULL) return False; MakeFullPath(path, file, fullpath); if (stat(fullpath, &statbuf)) /* error, report that it is not a directory */ return False; if (statbuf.st_mode & S_IFDIR) return True; else return False; }
BOOL CPPageExternalFilters::OnInitDialog() { __super::OnInitDialog(); m_filters.InsertColumn(0, _T("")); m_filters.SetExtendedStyle(m_filters.GetExtendedStyle() | LVS_EX_CHECKBOXES | LVS_EX_DOUBLEBUFFER); m_dropTarget.Register(this); const CAppSettings& s = AfxGetAppSettings(); m_pFilters.RemoveAll(); POSITION pos = s.m_filters.GetHeadPosition(); while (pos) { CAutoPtr<FilterOverride> f(DEBUG_NEW FilterOverride(s.m_filters.GetNext(pos))); CString name(_T("<unknown>")); if (f->type == FilterOverride::REGISTERED) { name = CFGFilterRegistry(f->dispname).GetName(); if (name.IsEmpty()) { name = f->name + _T(" <not registered>"); } } else if (f->type == FilterOverride::EXTERNAL) { name = f->name; if (f->fTemporary) { name += _T(" <temporary>"); } if (!PathUtils::Exists(MakeFullPath(f->path))) { name += _T(" <not found!>"); } } int i = m_filters.InsertItem(m_filters.GetItemCount(), name); m_filters.SetCheck(i, f->fDisabled ? 0 : 1); m_filters.SetItemData(i, reinterpret_cast<DWORD_PTR>(m_pFilters.AddTail(f))); } m_filters.SetColumnWidth(0, LVSCW_AUTOSIZE); UpdateData(FALSE); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
void scandirfunc(char *file) { char *extptr; uint32_t hex; if(strlen(file) != 12) return; extptr=&file[strlen(file)-4]; if(stricmp(extptr,".PNT")==0 && !scandir_boss) { char buf[200]; struct Node4D n4d; hex=hextodec(file); n4d.Zone = cfg_Zone; n4d.Net = NET(hex); n4d.Node = NODE(hex); n4d.Point = 0; scandir_dir = file; scandir_boss = &n4d; MakeFullPath(cfg_Dir,file,buf,200); osScanDir(buf,scandirfunc); scandir_dir = NULL; scandir_boss = NULL; } if(!stricmp(extptr,".REQ")) addentry(scandir_dir,file,TYPE_REQUEST,scandir_boss,TRUE); if(!stricmp(extptr,".CLO")) addentry(scandir_dir,file,TYPE_CRASH,scandir_boss,TRUE); if(!stricmp(extptr,".DLO")) addentry(scandir_dir,file,TYPE_DIRECT,scandir_boss,TRUE); if(!stricmp(extptr,".FLO")) addentry(scandir_dir,file,TYPE_NORMAL,scandir_boss,TRUE); if(!stricmp(extptr,".HLO")) addentry(scandir_dir,file,TYPE_HOLD,scandir_boss,TRUE); if(!stricmp(extptr,".CUT")) addentry(scandir_dir,file,TYPE_CRASH,scandir_boss,FALSE); if(!stricmp(extptr,".DUT")) addentry(scandir_dir,file,TYPE_DIRECT,scandir_boss,FALSE); if(!stricmp(extptr,".OUT")) addentry(scandir_dir,file,TYPE_NORMAL,scandir_boss,FALSE); if(!stricmp(extptr,".HUT")) addentry(scandir_dir,file,TYPE_HOLD,scandir_boss,FALSE); }
BOOL CPPageExternalFilters::OnInitDialog() { __super::OnInitDialog(); DragAcceptFiles(TRUE); AppSettings& s = AfxGetAppSettings(); m_pFilters.RemoveAll(); POSITION pos = s.m_filters.GetHeadPosition(); while (pos) { CAutoPtr<FilterOverride> f(DNew FilterOverride(s.m_filters.GetNext(pos))); CString name(_T("<unknown>")); if (f->type == FilterOverride::REGISTERED) { name = CFGFilterRegistry(f->dispname).GetName(); if (name.IsEmpty()) { name = f->name + _T(" <not registered>"); } } else if (f->type == FilterOverride::EXTERNAL) { name = f->name; if (f->fTemporary) { name += _T(" <temporary>"); } if (!CPath(MakeFullPath(f->path)).FileExists()) { name += _T(" <not found!>"); } } int i = m_filters.AddString(name); m_filters.SetCheck(i, f->fDisabled ? 0 : 1); m_filters.SetItemDataPtr(i, m_pFilters.AddTail(f)); } UpdateData(FALSE); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
/** GenerateOutput: Generates IBY file for the given package file @internalComponent @released @param aPkgFile - package file name @param aParser - corresponding package file reader object */ void Sis2Iby::GenerateIby(String aPkgFile, PPKGPARSER aParser) { String ibyFile = iOutputPath; AppendFileName(ibyFile, aPkgFile); ibyFile.append(".iby"); if( !MakeDirectory(iOutputPath) ) throw SisUtilsException(iOutputPath.c_str(),"Failed to create path"); if(IsVerboseMode()) { std::cout << "Generating IBY file " << ibyFile.c_str() << std::endl; } ibyHandle.open((char*)ibyFile.data(),(std::ios::out)); if(!ibyHandle.good()) { throw SisUtilsException(ibyFile.c_str(),"Failed to create IBY file"); } // Generating Header MakeFullPath(aPkgFile); ibyHandle << "\n// Generated IBY file for the package file: "; ibyHandle << aPkgFile; // Language Supported WriteLanguages(aParser); // Package Header WritePackageHeader(aParser); // Install options list WriteInstallOptions(aParser); // Package Body WritePackageBody(aParser); ibyHandle.close(); }
long Cx_PluginLoader::LoadPluginFiles(const wchar_t* path, const wchar_t* files, HMODULE instance, bool enableDelayLoading) { wchar_t filename[MAX_PATH]; m_instance = instance; MakeFullPath(filename, instance, path); const size_t len0 = wcslen(filename); wchar_t* nameend = filename + len0; std::vector<std::wstring> filenames; size_t i, j; for (i = 0; files[i] != 0; ) { while (issep(files[i])) { i++; } for (j = i; files[j] != 0 && !issep(files[j]); j++) { } if (j > i) { wcsncpy_s(nameend, MAX_PATH - len0, files + i, MAX_PATH - len0 < j - i ? MAX_PATH - len0 : j - i); nameend[j - i] = 0; ReplaceSlashes(filename); if (wcschr(nameend, L'.') == NULL) wcscat_s(filename, MAX_PATH, L".plugin" PLNEXT); filenames.push_back(filename); } i = j; } return InLoadPlugins(filenames, enableDelayLoading); }
int IDriveDeleteFile(TFileStore *FS, TFileInfo *FI) { char *Tempstr=NULL, *Error=NULL, *Path=NULL; HTTPInfoStruct *Info; ListNode *Headers; int result, val; STREAM *S; Path=MakeFullPath(Path,FS, FI->Name); Tempstr=MCopyStr(Tempstr,"https://",FS->Host,"/evs/deleteFile?uid=",FS->Logon,"&pwd=",FS->Passwd,"&p=",Path,NULL); S=HTTPMethod("POST",Tempstr,"","","","",0); val=HTTPReadDocument(S, &Tempstr); if (Settings.Flags & FLAG_VERBOSE) printf("\n%s\n",Tempstr); result=IDriveParseStatusResponse(Tempstr, &Error); DestroyString(Tempstr); DestroyString(Error); DestroyString(Path); return(result); }
/* * MD / MKDIR */ INT cmd_mkdir (LPTSTR param) { LPTSTR *p; INT argc, i; if (!_tcsncmp (param, _T("/?"), 2)) { ConOutResPaging(TRUE,STRING_MKDIR_HELP); return 0; } p = split (param, &argc, FALSE, FALSE); if (argc == 0) { ConErrResPuts(STRING_ERROR_REQ_PARAM_MISSING); freep(p); nErrorLevel = 1; return 1; } nErrorLevel = 0; for (i = 0; i < argc; i++) { if (!MakeFullPath(p[i])) { if (GetLastError() == ERROR_PATH_NOT_FOUND) { ConErrResPuts(STRING_MD_ERROR2); } else { ErrorMessage (GetLastError(), _T("MD")); } nErrorLevel = 1; } } freep (p); return nErrorLevel; }
/** NormaliseSourceFile: Normalise the source file with its absolute path @internalComponent @released @param aFile - Input file name @param aPkgFile - Package file path */ void Sis2Iby::NormaliseSourceFile(String& aFile, String aPkgFile) { String result; TUint pos = 0; pos = aPkgFile.rfind(PATHSEPARATOR); if(pos != String::npos) { result = aPkgFile.substr(0,pos); } else { result = "."; } result.append(PATHSEPARATOR); result.append(aFile); MakeFullPath(result); aFile = "\"" + result + "\""; }
int main(int argc, char* argv[]) { char dllName[512]; bool bUseDefault = true; CommandLine()->CreateCmdLine( argc, argv ); // check whether they used the -both switch. If this is specified, vrad will be run // twice, once with -hdr and once without int both_arg=0; for(int arg=1;arg<argc;arg++) if (Q_stricmp(argv[arg],"-both")==0) { both_arg=arg; } char fullPath[512], redirectFilename[512]; MakeFullPath( argv[0], fullPath, sizeof( fullPath ) ); Q_StripFilename( fullPath ); Q_snprintf( redirectFilename, sizeof( redirectFilename ), "%s\\%s", fullPath, "vrad.redirect" ); // First, look for vrad.redirect and load the dll specified in there if possible. CSysModule *pModule = NULL; FILE *fp = fopen( redirectFilename, "rt" ); if ( fp ) { if ( fgets( dllName, sizeof( dllName ), fp ) ) { char *pEnd = strstr( dllName, "\n" ); if ( pEnd ) *pEnd = 0; pModule = Sys_LoadModule( dllName ); if ( pModule ) printf( "Loaded alternate VRAD DLL (%s) specified in vrad.redirect.\n", dllName ); else printf( "Can't find '%s' specified in vrad.redirect.\n", dllName ); } fclose( fp ); } int returnValue; for(int mode=0;mode<2;mode++) { if (mode && (! both_arg)) continue; // If it didn't load the module above, then use the if ( !pModule ) { strcpy( dllName, "vrad.dll" ); pModule = Sys_LoadModule( dllName ); } if( !pModule ) { printf( "vrad_launcher error: can't load %s\n%s", dllName, GetLastErrorString() ); return 1; } CreateInterfaceFn fn = Sys_GetFactory( pModule ); if( !fn ) { printf( "vrad_launcher error: can't get factory from vrad.dll\n" ); Sys_UnloadModule( pModule ); return 2; } int retCode = 0; IVRadDLL *pDLL = (IVRadDLL*)fn( VRAD_INTERFACE_VERSION, &retCode ); if( !pDLL ) { printf( "vrad_launcher error: can't get IVRadDLL interface from vrad.dll\n" ); Sys_UnloadModule( pModule ); return 3; } if (both_arg) strcpy(argv[both_arg],(mode)?"-hdr":"-ldr"); returnValue = pDLL->main( argc, argv ); Sys_UnloadModule( pModule ); pModule=0; } return returnValue; }
int main(int argc, char* argv[]) { char dllName[512]; Pause(); CommandLine()->CreateCmdLine( argc, argv ); char fullPath[512], redirectFilename[512]; MakeFullPath( argv[0], fullPath, sizeof( fullPath ) ); Q_StripFilename( fullPath ); Q_snprintf( redirectFilename, sizeof( redirectFilename ), "%s\\%s", fullPath, "vrad.redirect" ); Pause(); // First, look for vrad.redirect and load the dll specified in there if possible. CSysModule *pModule = NULL; FILE *fp = fopen( redirectFilename, "rt" ); if ( fp ) { if ( fgets( dllName, sizeof( dllName ), fp ) ) { char *pEnd = strstr( dllName, "\n" ); if ( pEnd ) *pEnd = 0; pModule = Sys_LoadModule( dllName ); if ( pModule ) printf( "Loaded alternate VRAD DLL (%s) specified in vrad.redirect.\n", dllName ); else printf( "Can't find '%s' specified in vrad.redirect.\n", dllName ); } fclose( fp ); } Pause(); // If it didn't load the module above, then use the if ( !pModule ) { strcpy( dllName, "shadercompile_dll.dll" ); pModule = Sys_LoadModule( dllName ); } Pause(); if( !pModule ) { printf( "vrad_launcher error: can't load %s\n%s", dllName, GetLastErrorString() ); Pause(); return 1; } Pause(); CreateInterfaceFn fn = Sys_GetFactory( pModule ); if( !fn ) { printf( "vrad_launcher error: can't get factory from vrad_dll.dll\n" ); Sys_UnloadModule( pModule ); return 2; } int retCode = 0; IShaderCompileDLL *pDLL = (IShaderCompileDLL*)fn( SHADER_COMPILE_INTERFACE_VERSION, &retCode ); if( !pDLL ) { printf( "vrad_launcher error: can't get IVRadDLL interface from vrad_dll.dll\n" ); Sys_UnloadModule( pModule ); return 3; } int returnValue = pDLL->main( argc, argv ); Sys_UnloadModule( pModule ); return returnValue; }
void addentry(char *dir,char *file,uint32_t type,struct Node4D *boss,bool flow) { struct osFileEntry *fe; struct fileentry *entry; struct Node4D n4d; char buf[200]; char buf2[200]; uint32_t hex; hex=hextodec(file); if(boss) { Copy4D(&n4d,boss); n4d.Point = hex; } else { n4d.Zone = cfg_Zone; n4d.Net = NET(hex); n4d.Node = NODE(hex); n4d.Point = 0; } if(Compare4DPat(&cfg_Pattern,&n4d)!=0) return; if(dir) MakeFullPath(dir,file,buf,200); else mystrncpy(buf,file,200); MakeFullPath(cfg_Dir,buf,buf2,200); if(!(fe=osGetFileEntry(buf2))) { return; } if(!(entry=osAlloc(sizeof(struct fileentry)))) { osFree(fe); return; } Copy4D(&entry->Node,&n4d); if(dir) { MakeFullPath(dir,file,entry->file,100); MakeFullPath(cfg_Dir,dir,entry->dir,100); } else { mystrncpy(entry->file,file,100); mystrncpy(entry->dir,cfg_Dir,100); } mystrncpy(entry->file,buf,100); entry->size=fe->Size; entry->date=fe->Date; entry->type=type; entry->flow=flow; jbAddNode(&list,(struct jbNode *)entry); osFree(fe); }
/* Main program */ IntN main(IntN argc, Byte8 *argv[]) { IntX value = 0; static double glyphptsize = STDPAGE_GLYPH_PTSIZE; static opt_Option opt[] = { {"-u", opt_Call, (void*)showUsage}, {"-h", opt_Call, (void*)showHelp}, {"-ht", opt_Call, (void*)sfntTableSpecificUsage}, #if AUTOSPOOL {"-l", opt_Flag}, {"-O", opt_Flag}, #endif {"-r", opt_Flag}, {"-n", opt_Flag}, {"-nc", opt_Flag}, {"-ngid", opt_Flag}, {"-T", opt_Flag}, {"-F", opt_Flag}, {"-f", opt_Flag}, {"-G", opt_Flag}, {"-V", opt_Flag}, {"-m", opt_Flag}, {"-d", opt_Flag}, {"-br", opt_Flag}, {"-i", resIdScan}, {"-o", sfntTTCScan}, {"-t", sfntTagScan}, {"-P", sfntFeatScan}, {"-A", sfntFeatScan}, {"-p", proofPolicyScan}, {"-a", opt_Flag}, {"-R", opt_Flag}, {"-c", opt_Flag}, {"-g", glyfGlyphScan}, {"-b", glyfBBoxScan}, {"-s", glyfScaleScan}, {"-@", opt_Double, &glyphptsize}, {"-C", opt_Int, &cmapSelected}, #if AUTOSCRIPT {"-X", opt_String, scriptfilename}, #endif {"-ag", opt_String, &glyphaliasfilename}, {"-of", opt_String, &outputfilebase}, }; IntX files, goodFileCount=0; IntN argi; Byte8 *filename = NULL; volatile IntX i = 0; #if AUTOSCRIPT cmdlinetype *cmdl; Byte8 foundXswitch = 0; #endif int status = 0; /* = setjmp(global.env); only ued when compiled as lib */ if (status) { #if AUTOSCRIPT if (global.doingScripting) { goto scriptAbEnd; } else #endif exit(status - 1); /* Finish processing */ } gcr.reportNumber=0; /* value = setjmp(mark); only used when comiled as lib */ if (value==-1) exit(1); da_SetMemFuncs(memNew, memResize, memFree); global.progname = "spot"; #if AUTOSCRIPT scriptfilename[0] = '\0'; /* init */ if (!foundXswitch && (argc < 2)) /* if no -X on cmdline, and no OTHER switches */ strcpy(scriptfilename, "spot.scr"); /* see if scriptfile exists to Auto-execute */ if ((scriptfilename[0] != '\0') && sysFileExists(scriptfilename)) { global.doingScripting = 1; makeArgs(scriptfilename); } #endif /* AUTOSCRIPT */ if ( #if AUTOSCRIPT !global.doingScripting #else 1 #endif ) { argi = opt_Scan(argc, argv, opt_NOPTS(opt), opt, NULL, NULL); if (opt_hasError()) { exit(1); } if (argi == 0 ) showUsage(); #if AUTOSCRIPT if (!global.doingScripting && opt_Present("-X")) { if (scriptfilename && scriptfilename[0] != '\0') { global.doingScripting = 1; makeArgs(scriptfilename); goto execscript; } } #endif if (opt_Present("-@")) proofSetGlyphSize(glyphptsize); if (opt_Present("-V")) /* equivalent to "-p6" */ proofSetPolicy(6, 1); if (opt_Present("-ngid")) global.flags |= SUPPRESS_GID_IN_NAME; files = argc - argi; if ((files == 0) && (argc > 1)) /* no files on commandline, but other switches */ { } for (; argi < argc; argi++) { filename = argv[argi]; if (files > 1) { fprintf(stderr, "Proofing %s.\n", filename); fflush(stderr); } if (outputfilebase== NULL) outputfilebase = filename; fileOpen(filename); if (!fileIsOpened()) { warning(SPOT_MSG_BADFILE, filename); fileClose(); continue; } if (readFile(filename)) { fileClose(); continue; } goodFileCount++; fileClose(); } } #if AUTOSCRIPT else /* executing cmdlines from a script file */ { execscript: { char * end; end=strrchr(scriptfilename, '\\'); if(end==NULL) sourcepath=""; else{ char *scurr = scriptfilename; char *dcurr; sourcepath=(char *)memNew(strlen(scriptfilename)); dcurr = sourcepath; while(scurr!=end) { *dcurr++=*scurr++; } *dcurr=0; } } for (i = 0; i < script.cmdline.cnt ; i++) { char * tempfilename; cmdl = da_INDEX(script.cmdline, i); if (cmdl->args.cnt < 2) continue; proofResetPolicies(); { IntX a; inform(SPOT_MSG_EOLN); message(SPOT_MSG_ECHOSCRIPTCMD); for (a = 1; a < cmdl->args.cnt; a++) { inform(SPOT_MSG_RAWSTRING, cmdl->args.array[a]); } inform(SPOT_MSG_EOLN); } argi = opt_Scan(cmdl->args.cnt, cmdl->args.array, opt_NOPTS(opt), opt, NULL, NULL); if (opt_hasError()) { exit(1); } if (opt_Present("-@")) proofSetGlyphSize(glyphptsize); if (opt_Present("-V")) /* equivalent to "-p6" */ proofSetPolicy(6, 1); tempfilename = MakeFullPath(cmdl->args.array[cmdl->args.cnt-1]); if (fileExists(tempfilename) ) { /* (new) font filename on cmdline */ memFree(tempfilename); if (filename != NULL) /* not first time */ { fileClose(); /* previous font file */ sfntFree(1); } if(sourcepath[0]!='\0') filename=MakeFullPath(cmdl->args.array[cmdl->args.cnt-1]); else filename = cmdl->args.array[cmdl->args.cnt-1]; fileOpen(filename); if (outputfilebase == NULL) outputfilebase = filename; fprintf(stderr, "Proofing %s.\n", filename); fflush(stderr); goodFileCount++; if (readFile(filename)) { goodFileCount--; fileClose(); continue; } } else { /* none specified */ fatal(SPOT_MSG_MISSINGFILENAME); memFree(tempfilename); continue; } sfntDump(); scriptAbEnd: sfntFree(1); fileClose(); } global.doingScripting = 0; } #endif /* AUTOSCRIPT */ /* fprintf(stderr, "\nDone.\n");*/ if(goodFileCount<=0) exit(1); quit(0); return 0; }
PyObject * main_python(PyObject *self, PyObject *args) { static double glyphptsize = STDPAGE_GLYPH_PTSIZE; static opt_Option opt[] = { {"-u", opt_Call, showUsage}, {"-h", opt_Call, showHelp}, {"-ht", opt_Call, sfntTableSpecificUsage}, {"-l", opt_Flag}, {"-O", opt_Flag}, {"-r", opt_Flag}, {"-n", opt_Flag}, {"-nc", opt_Flag}, {"-T", opt_Flag}, {"-F", opt_Flag}, {"-f", opt_Flag}, {"-G", opt_Flag}, {"-V", opt_Flag}, {"-m", opt_Flag}, {"-d", opt_Flag}, {"-br", opt_Flag}, {"-i", resIdScan}, {"-o", sfntTTCScan}, {"-t", sfntTagScan}, {"-P", sfntFeatScan}, {"-A", sfntFeatScan}, {"-p", proofPolicyScan}, {"-a", opt_Flag}, {"-R", opt_Flag}, {"-c", opt_Flag}, {"-g", glyfGlyphScan}, {"-b", glyfBBoxScan}, {"-s", glyfScaleScan}, {"-@", opt_Double, &glyphptsize}, {"-C", opt_Int, &cmapSelected}, #if AUTOSCRIPT {"-X", opt_String, scriptfilename}, #endif {"-ag", opt_String, &glyphaliasfilename}, {"-of", opt_String, &outputfilebase}, }; char **argv, **argfree; int strIndex, argc, argtotal, tries; char * argString, *outfilename; IntX files; IntN argi; Byte8 *filename = NULL; Card32 value; int i = 0; #if AUTOSCRIPT cmdlinetype *cmdl; Byte8 foundXswitch = 0; #endif IntN status; #ifdef SUNOS { /* To allow gdb to attach to process */ char* do_debug_sleep; do_debug_sleep = getenv("STOP_OTFPROOF_FOR_GDB"); while (do_debug_sleep != NULL) sleep(1); } #endif /* Resetting globals*/ gcr.reportNumber=0; aliasfromfileinit = 0; /* freopen("OTFProof.std.log", "w", stdout);*/ value = setjmp(mark); if(value==-1){ PyErr_SetString(ErrorObject, "Fatal Error"); if (PyOutFile != NULL) { fclose(PyOutFile); PyOutFile = NULL; } freemap(); return NULL; } if(!PyArg_ParseTuple(args, "ss", &argString, &outfilename)){ freemap(); return NULL; } if (PyOutFile == NULL) PyOutFile = fopen(outfilename, "w"); else PyOutFile = freopen(outfilename, "w", PyOutFile); VORGfound=0; strIndex=0; argfree= (char **) memNew(MAX_ARGS*sizeof(char *)); argv=(char **) memNew(MAX_ARGS*sizeof(char *)); for(i=0; i<MAX_ARGS; i++){ argfree[i]=argv[i]=NextToken(argString, &strIndex); if(argv[i]==NULL) { argtotal=argc=i; break; }else{ /*fprintf(OUTPUTBUFF, ">>%s<<\n", argv[i]);*/ } } status = setjmp(global.env); if (status) { #if AUTOSCRIPT if (global.doingScripting) { goto scriptAbEnd; } else #endif if(status==2){ PyErr_SetString(ErrorObject, "Fatal Error"); if (PyOutFile != NULL) { fclose(PyOutFile); PyOutFile = NULL; } freemap(); argFree(argfree, argv); return NULL; }else{ if (PyOutFile != NULL) { fclose(PyOutFile); PyOutFile = NULL; } freemap(); argFree(argfree, argv); return Py_None; } } da_SetMemFuncs(memNew, memResize, memFree); global.progname = "OTFproof"; #if AUTOSCRIPT scriptfilename[0]='\0'; for (i = 0; i < argc; i++) { if (strcmp(argv[i], "-X") == 0) { if ((argv[i+1] != NULL) && (argv[i+1][0] != '\0')) { strcpy(scriptfilename, argv[i+1]); foundXswitch = 1; } break; } } #endif proofResetPolicies(); argi = opt_Scan(argc, argv, opt_NOPTS(opt), opt, NULL, NULL); if (opt_hasError()) { if (PyOutFile != NULL) { fclose(PyOutFile); PyOutFile = NULL; } freemap(); argFree(argfree, argv); return Py_None; } if (opt_Present("-@")) proofSetGlyphSize(glyphptsize); if (opt_Present("-V")) /* equivalent to "-p6" */ proofSetPolicy(6, 1); files = argc - argi; for (; argi < argc; argi++) { filename = argv[argi]; fileOpen(filename); if (!fileIsOpened()) { warning(SPOT_MSG_BADFILE, filename); fileClose(); continue; } /* fprintf(OUTPUTBUFF, "\nProofing %s.\n", filename); */ tries = 0; /* See if we can recognize the file type */ value = fileSniff(); switch (value) { case bits_: case typ1_: case true_: case mor0_: case OTTO_: case VERSION(1,0): sfntRead(0, -1); /* Read plain sfnt file */ sfntDump(); sfntFree(1); break; case ttcf_: sfntTTCRead(0); /* Read TTC file */ continue; break; case 256: SEEK_ABS(0); /* Raw resource file as a data fork */ resRead(0); /* Read and dump Macintosh resource file */ continue; break; case sig_AppleSingle: case sig_AppleDouble: doASDFormats((ctlTag)value); break; default: warning(SPOT_MSG_BADFILE, filename); fileClose(); continue; } fileClose(); freemap(); argFree(argfree, argv); #if MEMCHECK memReport(); #endif fclose(PyOutFile); PyOutFile = NULL; return Py_None; } #if AUTOSCRIPT execscript: { char * end; end=strrchr(scriptfilename, '\\'); if(end==NULL) sourcepath=""; else{ char *scurr = scriptfilename; char *dcurr; sourcepath=(char *)memNew(strlen(scriptfilename)); dcurr = sourcepath; while(scurr!=end) { *dcurr++=*scurr++; } *dcurr=0; } } for (i = 0; i < script.cmdline.cnt ; i++) { char * tempfilename; cmdl = da_INDEX(script.cmdline, i); if (cmdl->args.cnt < 2) continue; proofResetPolicies(); { IntX a; inform(SPOT_MSG_EOLN); message(SPOT_MSG_ECHOSCRIPTCMD); for (a = 1; a < cmdl->args.cnt; a++) { inform(SPOT_MSG_RAWSTRING, cmdl->args.array[a]); } inform(SPOT_MSG_EOLN); } argi = opt_Scan(cmdl->args.cnt, cmdl->args.array, opt_NOPTS(opt), opt, NULL, NULL); if (opt_hasError()) { if (PyOutFile != NULL) { fclose(PyOutFile); PyOutFile = NULL; } freemap(); argFree(argfree, argv); return Py_None; } if (opt_Present("-@")) proofSetGlyphSize(glyphptsize); if (opt_Present("-V")) /* equivalent to "-p6" */ proofSetPolicy(6, 1); tempfilename = MakeFullPath(cmdl->args.array[cmdl->args.cnt-1]); if (fileExists(tempfilename) ) { /* (new) font filename on cmdline */ memFree(tempfilename); if (filename != NULL) /* not first time */ { fileClose(); /* previous font file */ sfntFree(1); } if(sourcepath[0]!='\0') filename=MakeFullPath(cmdl->args.array[cmdl->args.cnt-1]); else filename = cmdl->args.array[cmdl->args.cnt-1]; fileOpen(filename); tries=0; retry: /* See if we can recognize the file type */ value = fileSniff(); switch (value) { case bits_: case typ1_: case true_: case mor0_: case OTTO_: case VERSION(1,0): sfntRead(0, -1); /* Read plain sfnt file */ break; case ttcf_: sfntTTCRead(0); /* Read TTC file */ continue; break; case 256: resRead(0); /* Read Macintosh resource file */ continue; break; default: warning(SPOT_MSG_BADFILE, filename); fileClose(); continue; } } else { /* none specified */ fatal(SPOT_MSG_MISSINGFILENAME); memFree(tempfilename); continue; } sfntDump(); scriptAbEnd: sfntFree(1); fileClose(); } global.doingScripting = 0; #endif /*fprintf(stderr, "\nDone.\n");*/ fileClose(); freemap(); argFree(argfree, argv); #if MEMCHECK memReport(); #endif fclose(PyOutFile); PyOutFile = NULL; return Py_None; }
return fullPath; } //these are used in PDFL SnippetRunner and the SOAP interface PDDoc CDocument::OpenDocument(const char* path) { DURING /* Create asPathName from file.*/ // save in a static var so we can revert it... //test, and replace asPathName, if exists //only revert currently passes a null, as it needs to use the old asPathName to reopen the doc if(path) asPathName = MakeFullPath(path); /* Open pdDoc from asPathName.*/ pdDoc = PDDocOpen(asPathName, NULL, NULL, true); #ifdef ACRO_SDK_PLUGIN_SAMPLE //#ifdef PLUGIN avDoc = AVDocOpenFromPDDoc(pdDoc, NULL); #endif HANDLER pdDoc = NULL; END_HANDLER return pdDoc; } PDDoc CDocument::OpenDocument(const ASUTF16Val* path) {