version 1.14, 2003/02/02 01:52:50 |
version 1.18, 2019/03/29 02:49:48 |
|
|
/* $OpenXM: OpenXM/rc/repl.c,v 1.13 2003/01/17 01:01:04 maekawa Exp $ */ |
/* $OpenXM: OpenXM/rc/repl.c,v 1.17 2004/06/20 04:55:32 takayama Exp $ */ |
|
|
#include <stdio.h> |
#include <stdio.h> |
#include <stdlib.h> |
#include <stdlib.h> |
|
|
#include <unistd.h> |
#include <unistd.h> |
|
|
#define BUFSIZE 10000 |
#define BUFSIZE 10000 |
#define SSIZE 1024 |
#define SSIZE 1024 |
|
|
|
/* If you make the following two strings longer, increase the number SSIZE */ |
#define REPL_IMGFILE "repl_test.img" |
#define REPL_IMGFILE "repl_test.img" |
#define REPL_PSFILE "repl_test.ps" |
#define REPL_PSFILE "repl_test.ps" |
|
|
Line 21 main(int argc,char *argv[]) { |
|
Line 22 main(int argc,char *argv[]) { |
|
char *slash; |
char *slash; |
char type = 'b'; |
char type = 'b'; |
FILE *fp; |
FILE *fp; |
int fd; |
int fd,i; |
char sss_png[SSIZE]; |
char sss_png[SSIZE]; |
char sss_gif[SSIZE]; |
char sss_gif[SSIZE]; |
|
|
if (argc >= 2) { |
|
if (strcmp(argv[1],"csh")==0) { |
|
type = 'c'; |
|
} |
|
} |
|
|
|
if (getcwd(cwd, sizeof(cwd)) == NULL) { |
if (getcwd(cwd, sizeof(cwd)) == NULL) { |
fprintf(stderr, "getcwd: %s\n", strerror(errno)); |
fprintf(stderr, "getcwd: %s\n", strerror(errno)); |
exit(EXIT_FAILURE); |
exit(EXIT_FAILURE); |
Line 40 main(int argc,char *argv[]) { |
|
Line 35 main(int argc,char *argv[]) { |
|
exit(EXIT_FAILURE); |
exit(EXIT_FAILURE); |
} |
} |
*slash = 0; |
*slash = 0; |
|
|
|
for (i=1; i<argc; i++) { |
|
if (strcmp(argv[i],"csh")==0) { |
|
type = 'c'; |
|
}else if (strcmp(argv[i],"bash")==0) { |
|
type = 'b'; |
|
}else if (strcmp(argv[i],"--prefix")==0) { |
|
i++; |
|
strcpy(cwd,argv[i]); |
|
strcat(cwd,"/OpenXM"); |
|
if (cwd[0] != '/') { |
|
fprintf(stderr,"Warning: prefix must start with /\n"); |
|
fprintf(stderr,"Your prefix is %d\n",cwd); |
|
} |
|
}else{ |
|
fprintf(stderr,"Warning: Unknown option.\n"); |
|
} |
|
} |
|
|
while (fgets(s,BUFSIZE,stdin) != NULL) { |
while (fgets(s,BUFSIZE,stdin) != NULL) { |
if (strcmp(s,"OpenXM_HOME=$HOME/OpenXM\n") == 0) { |
if (strcmp(s,"OpenXM_HOME=$HOME/OpenXM\n") == 0) { |
printf("OpenXM_HOME=%s\n",cwd); |
printf("OpenXM_HOME=%s\n",cwd); |
}else if (strcmp(s,"setenv OpenXM_HOME $HOME/OpenXM\n") == 0) { |
}else if (strcmp(s,"setenv OpenXM_HOME $HOME/OpenXM\n") == 0) { |
printf("setenv OpenXM_HOME %s\n",cwd); |
printf("setenv OpenXM_HOME %s\n",cwd); |
|
}else if (strcmp(s,"OpenXM_HOME=$(HOME)/OpenXM\n") == 0) { |
|
printf("OpenXM_HOME=%s\n",cwd); |
|
}else if (strcmp(s,"setenv OpenXM_HOME \"$(HOME)\"/OpenXM\n") == 0) { |
|
printf("setenv OpenXM_HOME %s\n",cwd); |
|
}else if (strcmp(s,"OpenXM_HOME=\"${HOME}\"/OpenXM\n") == 0) { |
|
printf("OpenXM_HOME=%s\n",cwd); |
}else{ |
}else{ |
printf("%s",s); |
printf("%s",s); |
} |
} |
Line 65 main(int argc,char *argv[]) { |
|
Line 85 main(int argc,char *argv[]) { |
|
break; |
break; |
} |
} |
|
|
if (snprintf(sss_png,SSIZE,"pstoimg -type png %s -out %s >/dev/null",REPL_PSFILE,REPL_IMGFILE) <0) { |
sprintf(sss_png,"pstoimg -type png %s -out %s >/dev/null",REPL_PSFILE,REPL_IMGFILE); |
fprintf(stderr,"SSIZE is small.\n"); |
sprintf(sss_gif,"pstoimg -type gif %s -out %s >/dev/null",REPL_PSFILE,REPL_IMGFILE); |
exit(EXIT_FAILURE); |
|
} |
|
if (snprintf(sss_gif,SSIZE,"pstoimg -type gif %s -out %s >/dev/null",REPL_PSFILE,REPL_IMGFILE) <0) { |
|
fprintf(stderr,"SSIZE is small.\n"); |
|
exit(EXIT_FAILURE); |
|
} |
|
|
|
if (!system(sss_png)) { |
if (!system(sss_png)) { |
if (type == 'b') { |
if (type == 'b') { |
Line 88 main(int argc,char *argv[]) { |
|
Line 102 main(int argc,char *argv[]) { |
|
printf("setenv OpenXM_PSTOIMG_TYPE=gif\n"); |
printf("setenv OpenXM_PSTOIMG_TYPE=gif\n"); |
} |
} |
}else { |
}else { |
printf("OpenXM_PSTOIMG_TYPE=no\n"); |
if (type == 'b') { |
printf("export OpenXM_PSTOIMG_TYPE\n"); |
printf("OpenXM_PSTOIMG_TYPE=no\n"); |
|
printf("export OpenXM_PSTOIMG_TYPE\n"); |
|
}else{ |
|
printf("setenv OpenXM_PSTOIMG_TYPE no\n"); |
|
} |
} |
} |
|
|
while (unlink(REPL_IMGFILE) != 0) { |
while (unlink(REPL_IMGFILE) != 0) { |