IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 9844


Ignore:
Timestamp:
Nov 3, 2006, 7:24:42 AM (20 years ago)
Author:
eugene
Message:

fixed while evaluation

Location:
trunk/Ohana/src/opihi
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/cmd.basic/run_while.c

    r7917 r9844  
    66
    77  int ThisList, depth, i, done, status, NLINES, j;
    8   char *input, *val;
     8  char *input, *val, *logic_line;
    99  int logic, size;
    1010  Macro loop;
     
    8383    if (loop_continue) continue;
    8484
    85     val = dvomath (1, &argv[1], &size, 0);
     85    logic_line = strcreate (argv[1]);
     86    logic_line = expand_vars (logic_line);
     87    val = dvomath (1, &logic_line, &size, 0);
     88    free (logic_line);
     89
    8690    if (val == NULL) return (FALSE);
    8791    logic = atof (val); /* warning: round-off error is a danger */
  • trunk/Ohana/src/opihi/lib.shell/expand_vars.c

    r7917 r9844  
    1111  found = FALSE;
    1212  ALLOCATE (newline, char, 1024);  /* WARNING: this limits the length of the input line */
     13
     14  V0 = thiscomm (line);
     15  if (V0 && !strncmp ("while", V0, strlen(V0))) {
     16      // special case: don't expand variables in while () statement
     17      strcpy (newline, line);
     18      free (line);
     19      return (newline);
     20  }
    1321
    1422  /* look for form $a$b..$n and expand only the last ones */
Note: See TracChangeset for help on using the changeset viewer.