=================================================================== RCS file: /home/cvs/OpenXM/rc/repl.c,v retrieving revision 1.6 retrieving revision 1.10 diff -u -p -r1.6 -r1.10 --- OpenXM/rc/repl.c 2002/04/05 01:49:09 1.6 +++ OpenXM/rc/repl.c 2003/01/16 08:27:23 1.10 @@ -1,9 +1,15 @@ -/* $OpenXM: OpenXM/rc/repl.c,v 1.5 2001/09/18 08:29:26 takayama Exp $ */ +/* $OpenXM: OpenXM/rc/repl.c,v 1.9 2003/01/16 07:57:42 maekawa Exp $ */ + #include -#include +#include + +#include #include +#include #define BUFSIZE 10000 + +int main(int argc,char *argv[]) { char s[BUFSIZE]; char cwd[BUFSIZE]; @@ -17,8 +23,14 @@ main(int argc,char *argv[]) { } } - getcwd(cwd,BUFSIZE); - slash = strrchr(cwd,'/'); + if (getcwd(cwd, sizeof(cwd)) == NULL) { + fprintf(stderr, "getcwd: %s\n", strerror(errno)); + exit(1); + } + if ((slash = strrchr(cwd, '/')) == cwd) { + fprintf(stderr, "The current working directory is /.\n"); + exit(1); + } *slash = 0; while (fgets(s,BUFSIZE,stdin) != NULL) { if (strcmp(s,"OpenXM_HOME=$HOME/OpenXM\n") == 0) { @@ -34,13 +46,13 @@ main(int argc,char *argv[]) { /* Check if pstoimg (src/asir-contrib) supports png format. */ fp = fopen("/tmp/repl_test.ps","w"); if (fp == NULL) { - fprintf(stderr,"Open error of /tmp/repl_test.ps\n"); - exit(10); + fprintf(stderr,"Open error of /tmp/repl_test.ps. Use the existing file.\n"); + }else{ + fprintf(fp,"/Times-Roman findfont 10 scalefont setfont\n"); + fprintf(fp," 390 290 moveto (F) show \n"); + fprintf(fp,"showpage \n"); + fclose(fp); } - fprintf(fp,"/Times-Roman findfont 10 scalefont setfont\n"); - fprintf(fp," 390 290 moveto (F) show \n"); - fprintf(fp,"showpage \n"); - fclose(fp); if (!system("pstoimg -type png /tmp/repl_test.ps -out /tmp/repl_test.png >/dev/null")) { if (type == 'b') { printf("export OpenXM_PSTOIMG_TYPE=png\n"); @@ -60,9 +72,6 @@ main(int argc,char *argv[]) { } system("rm -f /tmp/repl_test.*"); - + exit(0); } - - -