[BACK]Return to misc.rr CVS log [TXT][DIR] Up to [local] / OpenXM / src / asir-contrib / packages / src

Annotation of OpenXM/src/asir-contrib/packages/src/misc.rr, Revision 1.2

1.2     ! takayama    1: /* $OpenXM: OpenXM/src/asir-contrib/packages/src/misc.rr,v 1.1 2001/08/22 01:52:44 takayama Exp $ */
1.1       takayama    2:
                      3: Misc_ox_work_dir_created = 0$
                      4: Misc_ox_file_name = 0$
                      5: def get_pid() {
                      6:   /* It should return the process id.
                      7:      This is a dummy function.  */
                      8:   return 1;
                      9: }
                     10: /* ox_work_dir() returns
                     11:    ~/OpenXM_tmp/pid
                     12:    If this direcotry does not exists, it creates the directory.
                     13:    If the environmental variable OpenXM_tmp is set, the value
                     14:    will be used.
                     15: */
                     16: def ox_work_dir() {
                     17:   extern Misc_ox_work_dir_created;
1.2     ! takayama   18:   if (ox_getenv("OpenXM_tmp") == 0) {
        !            19:      Work_home = ox_getenv("HOME")+"/OpenXM_tmp";
1.1       takayama   20:   }else{
1.2     ! takayama   21:      Work_home = ox_getenv("OpenXM_tmp");
1.1       takayama   22:   }
                     23:   Work = Work_home+"/"+rtostr(get_pid());
                     24:
                     25:   if (!Misc_ox_work_dir_created) {
                     26:     /* Unix dependent code to create a directory. */
                     27:     if (shell("test -d "+Work_home) != 0) {
                     28:       print("Working direcotry "+Work_home+" will be created.");
                     29:       if (shell("mkdir "+Work_home) != 0) {
                     30:          error("Could not create the directory "+Work_home);
                     31:       }
                     32:     }
                     33:     if (shell("test -d "+Work) != 0) {
                     34:       print("Working direcotry "+Work+" will be created.");
                     35:       if (shell("mkdir "+Work) != 0) {
                     36:          error("Could not create the directory "+Work);
                     37:       }
                     38:     }
                     39:     Misc_ox_work_dir_created = 1;
                     40:   }
                     41:   return Work;
                     42: }
                     43:
                     44: def ox_remove_work_dir() {
1.2     ! takayama   45:   if (ox_getenv("OpenXM_tmp") == 0) {
        !            46:      Work_home = ox_getenv("HOME")+"/OpenXM_tmp";
1.1       takayama   47:   }else{
1.2     ! takayama   48:      Work_home = ox_getenv("OpenXM_tmp");
1.1       takayama   49:      /* Safety precaution. */
1.2     ! takayama   50:      if (Work_home == ox_getenv("HOME") ||
1.1       takayama   51:          Work_home == "/" ||
                     52:          Work_home == "" ||
                     53:          Work_home == "." ||
                     54:          Work_home == ".." ) {
                     55:          error("ox_remove_work_dir():  Work_home seems to be wrong.");
                     56:      }
                     57:   }
                     58:   if (shell("test -d "+Work_home) == 0) {
                     59:      shell("rm -rf "+Work_home+" [0-9]*");
                     60:   }
                     61:   return Work_home;
                     62: }
                     63:
                     64: def ox_new_file_name() {
                     65:   extern Misc_ox_file_name;
                     66:   Name = "work"+rtostr(Misc_ox_file_name);
                     67:   Misc_ox_file_name++;
                     68:   return Name;
                     69: }
                     70: end$

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