[BACK]Return to d.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / k097

Diff for /OpenXM/src/k097/d.c between version 1.10 and 1.11

version 1.10, 2003/07/21 12:41:22 version 1.11, 2003/07/22 03:25:55
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/k097/d.c,v 1.9 2003/07/13 08:18:27 takayama Exp $ */  /* $OpenXM: OpenXM/src/k097/d.c,v 1.10 2003/07/21 12:41:22 takayama Exp $ */
 /* simple.c,  1996, 1/1 --- 1/5 */  /* simple.c,  1996, 1/1 --- 1/5 */
 #include <stdio.h>  #include <stdio.h>
 #include <ctype.h>  #include <ctype.h>
Line 1058  void loadFileWithCpp(objectp op)
Line 1058  void loadFileWithCpp(objectp op)
   char tmpName[1024];    char tmpName[1024];
   int pid;    int pid;
   objectp ob;    objectp ob;
     char *outfile;
     char *cpp;
     char *argv[10];
     int n;
     char *sfile = NULL;
   if (op->tag != Sstring) {    if (op->tag != Sstring) {
     fprintf(stderr,"File name must be given as an argment of load.\n");      fprintf(stderr,"File name must be given as an argment of load.\n");
     return;      return;
Line 1068  void loadFileWithCpp(objectp op)
Line 1073  void loadFileWithCpp(objectp op)
     fprintf(stderr,"Too long file name.\n");      fprintf(stderr,"Too long file name.\n");
     return;      return;
   }    }
   system("/bin/rm -f k00.cppload.tmp");    /* Use gcc -v to know what symbols are defined.
   /* Use gcc -v to know what symbols are defined. */           if  defined(linux) || defined(__linux__)
 #if defined(linux) || defined(__linux__)           Removed old codes. */
   strcpy(fname,"/lib/cpp -P -lang-c++ <");  
 #else    sfile = op->lc.str;
   strcpy(fname,"cpp -P -lang-c++ <");    if (getFileSize(sfile) < 0) {
 #endif          fprintf(stderr,"The source file is not found.\n"); return;
   strcat(fname,op->lc.str);    }
   strcat(fname,"  >k00.cppload.tmp");    cpp = getCppPath();
   system(fname);    if (cpp == NULL) {
           fprintf(stderr,"cpp is not found.\n"); return;
     }
     /* printf("%s\n",cpp); */
     outfile = generateTMPfileName("k0-cpp");
     if (outfile == NULL) {
           fprintf(stderr,"Failed to generate a temporary file name.\n"); return;
     }
     /* printf("%s\n",outfile); */
     if ((char *)strstr(cpp,"/asir/bin/cpp.exe") == NULL) {
           argv[0] = cpp;
           argv[1] = "-P";
           argv[2] = "-lang-c++";
           argv[3] = sfile;
           argv[4] = outfile;
           argv[5] = NULL;
     }else{
           argv[0] = cpp;
           argv[1] = cygwinPathToWinPath(sfile);
           argv[2] = cygwinPathToWinPath(outfile);
           argv[3] = NULL;
     }
     n=oxForkExecBlocked(argv);
   
   ob = newObject_d();    ob = newObject_d();
   ob->tag = Sstring;    ob->tag = Sstring;
   ob->lc.str = "k00.cppload.tmp";    ob->lc.str = outfile;
   loadFile(ob);    loadFile(ob);
   system("/bin/rm -f k00.cppload.tmp");    unlink(outfile);
 }  }
   
 void showStringBuff(objectp op)  void showStringBuff(objectp op)

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>