[BACK]Return to ctrl.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / builtin

Diff for /OpenXM_contrib2/asir2000/builtin/ctrl.c between version 1.40 and 1.41

version 1.40, 2013/01/30 08:03:18 version 1.41, 2014/05/12 02:35:35
Line 45 
Line 45 
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.   * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
  *   *
  * $OpenXM: OpenXM_contrib2/asir2000/builtin/ctrl.c,v 1.39 2009/02/05 08:37:02 ohara Exp $   * $OpenXM: OpenXM_contrib2/asir2000/builtin/ctrl.c,v 1.40 2013/01/30 08:03:18 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
Line 85  extern int show_orderspec;
Line 85  extern int show_orderspec;
 extern int no_debug_on_error;  extern int no_debug_on_error;
 extern int diag_period;  extern int diag_period;
 extern int weight_check;  extern int weight_check;
   extern char **ASIRLOADPATH;
   extern int ASIRLOADPATH_LEN;
   
 static struct {  static struct {
         char *key;          char *key;
Line 143  Q *rp;
Line 145  Q *rp;
         char *key;          char *key;
         char buf[BUFSIZ];          char buf[BUFSIZ];
         char *str;          char *str;
           STRING s;
           NODE node,p;
           LIST list;
   
         if ( !arg ) {          if ( !arg ) {
                 *rp = 0;                  *rp = 0;
Line 193  Q *rp;
Line 198  Q *rp;
                                 do_quiet = 0;                                  do_quiet = 0;
                         } else {                          } else {
                                 error("ctrl : prompt : invalid argument");                                  error("ctrl : prompt : invalid argument");
                           }
                   }
                   return;
           } else if ( !strcmp(key,"loadpath") ) {
                   *rp = 0;
                   if ( argc(arg) == 1 ) {
                           if( ASIRLOADPATH[0] ) {
                                   for(i=0; ASIRLOADPATH[i]; i++) {
                                   }
                                   for(i--,p=NULL; i>=0; i--,p=node) {
                                           MKSTR(s,ASIRLOADPATH[i]);
                                           MKNODE(node,s,p);
                                   }
                                   MKLIST(list,node);
                                   *rp = list;
                           }
                   } else {
                           list = (LIST)ARG1(arg);
                           if ( OID(list) == O_LIST ) {
                                   for(i=0,p=BDY(list); p; i++,p=NEXT(p)) {
                                           s=(STRING)BDY(p);
                                           if(!s || OID(s)!=O_STR) {
                                                   error("ctrl : loadpath : invalid argument");
                                           }
                                   }
                                   if(i >= ASIRLOADPATH_LEN) {
                                           ASIRLOADPATH_LEN = i+1;
                                           ASIRLOADPATH = (char **)MALLOC(sizeof(char *)*ASIRLOADPATH_LEN);
                                   }
                                   for(i=0,p=BDY(list); p; i++,p=NEXT(p)) {
                                           ASIRLOADPATH[i] = (char *)BDY((STRING)BDY(p));
                                   }
                                   ASIRLOADPATH[i] = NULL;
                           }else {
                                   error("ctrl : loadpath : invalid argument");
                         }                          }
                 }                  }
                 return;                  return;

Legend:
Removed from v.1.40  
changed lines
  Added in v.1.41

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