char *getPfaEditDir(char *buffer) { static char *editdir = NULL; char *dir; char olddir[1024]; if ( editdir!=NULL ) return( editdir ); dir = GFileGetHomeDir(); if ( dir==NULL ) return( NULL ); #ifdef __VMS sprintf(buffer,"%s/_FontForge", dir); #else sprintf(buffer,"%s/.FontForge", dir); #endif /* We used to use .PfaEdit. So if we don't find a .FontForge look for that*/ /* if there is a .PfaEdit, then rename it to .FontForge */ if ( access(buffer,F_OK)==-1 ) { #ifdef __VMS snprintf(olddir,sizeof(olddir),"%s/_PfaEdit", dir); #else snprintf(olddir,sizeof(olddir),"%s/.PfaEdit", dir); #endif if ( access(olddir,F_OK)==0 ) rename(olddir,buffer); } free(dir); /* If we still can't find it, create it */ if ( access(buffer,F_OK)==-1 ) if ( GFileMkDir(buffer)==-1 ) return( NULL ); editdir = copy(buffer); return( editdir ); }
static void _gio_file_mkdir(GIOControl *gc,char *path) { if ( GFileMkDir(path)==-1 ) { _GIO_reporterror(gc,errno); } else { gc->return_code = 201; gc->done = true; (gc->receivedata)(gc); } }
static char *getAutoDirName(char *buffer) { char *dir=getPfaEditDir(buffer); if ( dir==NULL ) return( NULL ); sprintf(buffer,"%s/autosave", dir); if ( access(buffer,F_OK)==-1 ) if ( GFileMkDir(buffer)==-1 ) return( NULL ); dir = copy(buffer); return( dir ); }
static char *getAutoDirName(char *buffer) { char *dir=getFontForgeUserDir(Config); if ( dir!=NULL ) { sprintf(buffer,"%s/autosave", dir); free(dir); if ( access(buffer,F_OK)==-1 ) if ( GFileMkDir(buffer, 0755)==-1 ) return( NULL ); dir = copy(buffer); } return( dir ); }