Diff for /freem/src/expr.c between versions 1.12 and 1.16

version 1.12, 2025/04/10 01:24:38 version 1.16, 2025/04/30 20:03:09
Line 24 Line 24
  *   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.   *   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.
  *   *
  *   $Log$   *   $Log$
    *   Revision 1.16  2025/04/30 20:03:09  snw
    *   Work on entryref parser
    *
    *   Revision 1.15  2025/04/30 14:41:03  snw
    *   Further debugger work
    *
    *   Revision 1.14  2025/04/14 23:20:23  snw
    *   Restore support for any 8-bit character in
    *
    *   Revision 1.13  2025/04/13 04:22:43  snw
    *   Fix snprintf calls
    *
  *   Revision 1.12  2025/04/10 01:24:38  snw   *   Revision 1.12  2025/04/10 01:24:38  snw
  *   Remove C++ style comments   *   Remove C++ style comments
  *   *
Line 1685  uparrow: Line 1697  uparrow:
                 case 'c':           /* $CHARACTER */                  case 'c':           /* $CHARACTER */
   
                     {                                              {                        
                         char chrtmp[256];  
                         long pnum;  
                         short l, l1, m, n;                          short l, l1, m, n;
   
                         l1 = f;                          l1 = f;
Line 1697  uparrow: Line 1707  uparrow:
                         n = 1;                          n = 1;
                         l = 0;                          l = 0;
   
                         stcpy (chrtmp, a);  
                         stcnv_m2c (chrtmp);  
                         pnum = atol (chrtmp);  
   
                         if (pnum > 127) {  
                             merr_raise (MXNUM);  
                             return;  
                         }  
                                                   
                         for (;;) {                          for (;;) {
                                                           
Line 2989  f20: Line 2991  f20:
                         long l1, rouoldc;                          long l1, rouoldc;
                         short reload = FALSE;                          short reload = FALSE;
   
                           /*
                           printf ("a = %s f = %d\r\n", a, f);
                           for (i = arg; i < arg + f; i++) {
                               printf ("argstck[%d] = '%s'\r\n", i, argstck[i]);
                           }
                           */
                           
                         if (f > 3) {                          if (f > 3) {
                             merr_raise (FUNARG);                              merr_raise (FUNARG);
                             return;                              return;
Line 4593  extra_fun: Line 4602  extra_fun:
   
                                   
                 if (obj_field) {                  if (obj_field) {
                     char t_objf[255];                      char t_objf[STRLEN];
   
                     snprintf (t_objf, 254, "%s\201", object_instance);                      snprintf (t_objf, STRLEN - 1, "%s\201", object_instance);
                                           
                     dofram0 = dofrmptr;                      dofram0 = dofrmptr;
                     *dofrmptr++ = DELIM;                      *dofrmptr++ = DELIM;
Line 5559  errexfun: Line 5568  errexfun:
                         {                          {
                             char doggie_bag[50];                              char doggie_bag[50];
   
                             snprintf (doggie_bag, 49, ".%ld\201", ilong);                              snprintf (doggie_bag, sizeof (doggie_bag) - 1, ".%ld\201", ilong);
                             stcat (a, doggie_bag);                              stcat (a, doggie_bag);
                         }                          }
                     }                      }
Line 5568  errexfun: Line 5577  errexfun:
   
                 case SVNsystem:                  case SVNsystem:
   
                     snprintf (a, 512, "%d,\"%s\"\201", MDC_VENDOR_ID, jour_hostid);                       sprintf (a, "%d,\"%s\"\201", MDC_VENDOR_ID, jour_hostid); 
                     goto exec;                      goto exec;
   
   
Line 5580  errexfun: Line 5589  errexfun:
   
                 case SVNtlevel:                  case SVNtlevel:
   
                     snprintf (a, 255, "%d\201", tp_level);                      sprintf (a, "%d\201", tp_level);
                     goto exec;                      goto exec;
   
   
Line 5608  errexfun: Line 5617  errexfun:
                 case SVNestack:                  case SVNestack:
                     {                      {
                         char esbuf[256];                          char esbuf[256];
                         snprintf (esbuf, 255, "%d\201", estack);                          sprintf (esbuf, "%d\201", estack);
   
                         stcpy (a, esbuf);                          stcpy (a, esbuf);
                         goto exec;                          goto exec;
Line 5641  errexfun: Line 5650  errexfun:
                 /* $DEVICE */                  /* $DEVICE */
                 case 'd':                  case 'd':
                     if (devstat[io].mdc_err == 0) {                      if (devstat[io].mdc_err == 0) {
                         snprintf (a, 3, "0\201\0");                                         sprintf (a, "0\201\0");           
                     }                      }
                     else {                      else {
                         snprintf (a, 120, "%d,%d,%s\201\0", devstat[io].mdc_err, devstat[io].frm_err, devstat[io].err_txt);                          sprintf (a, "%d,%d,%s\201\0", devstat[io].mdc_err, devstat[io].frm_err, devstat[io].err_txt);
                     }                      }
   
                     goto exec;                      goto exec;
                                           
                 /* $STORAGE */                  /* $STORAGE */
                 case 's':                  case 's':
                     snprintf (a, 255 , "%ld\201", DEFPSIZE);                      sprintf (a, "%ld\201", DEFPSIZE);
                     goto exec;                      goto exec;
   
                 /* $WITH */                  /* $WITH */
Line 5772  errexfun: Line 5781  errexfun:
                         char zdf_key[50];                          char zdf_key[50];
                         char fmt_string[128];                          char fmt_string[128];
   
                         snprintf (zdf_key, 49, "^$JOB\202%d\202ZDATE_FORMAT\201", pid);                          snprintf (zdf_key, sizeof (zdf_key) - 1, "^$JOB\202%d\202ZDATE_FORMAT\201", pid);
                         ssvn (get_sym, zdf_key, fmt_string);                          ssvn (get_sym, zdf_key, fmt_string);
                         stcnv_c2m (fmt_string);                          stcnv_c2m (fmt_string);
                                                   

Removed from v.1.12  
changed lines
  Added in v.1.16


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