/* viDOOM - level editor for DOOM Copyright (C) 2000 Ian Cowburn (ianc@noddybox.demon.co.uk) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ------------------------------------------------------------------------- File system interfaces */ static const char rcs_id[]="$Id$"; #include "config.h" #include #include /* ---------------------------------------- PRIVATE FUNCS */ static void ChangeDirsep(char *p) { while(*p) { if (*p=='\\') *p='/'; p++; } } /* ---------------------------------------- EXPORTED FUNCS */ char *Pwd(void) { static char s[PATH_MAX]; getcwd(s,PATH_MAX); return(s); } void Cd(char *path) { chdir(path); } char *Dirname(char *path) { static char s[PATH_MAX]; char *p; strcpy(s,path); p=s+strlen(s)-1; while((*p)&&(p>s)) if ((*p=='/')||(*p=='\\')) *(p+1)=0; else p--; return(s); } char *Basename(char *path) { static char s[PATH_MAX]; char *p; strcpy(s,path); p=s+strlen(s)-1; while(p>s) if ((*p=='/')||(*p=='\\')) return(p+1); else p--; return(s); } int FileExists(char *path) { FILE *fp; if ((fp=fopen(path,"rb"))) { fclose(fp); return(TRUE); } else return(FALSE); } int FilenamesEqual(char *path1, char *path2) { char p1[PATH_MAX],p2[PATH_MAX]; strcpy(p1,path1); strcpy(p2,path2); ChangeDirsep(p1); ChangeDirsep(p2); return(!strcasecmp(p1,p2)); } /* END OF FILE */