Diff for /freem/src/ssvn_job.c between versions 1.8 and 1.10

version 1.8, 2025/04/11 23:27:04 version 1.10, 2025/04/28 19:38:55
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.10  2025/04/28 19:38:55  snw
    *   Add trace mode
    *
    *   Revision 1.9  2025/04/13 04:22:43  snw
    *   Fix snprintf calls
    *
  *   Revision 1.8  2025/04/11 23:27:04  snw   *   Revision 1.8  2025/04/11 23:27:04  snw
  *   Fix overflow bugs in ssvn_job.c   *   Fix overflow bugs in ssvn_job.c
  *   *
Line 142  void ssvn_job_update(void) Line 148  void ssvn_job_update(void)
     ierr_sav = ierr;      ierr_sav = ierr;
           
     snprintf (k_buf, STRLEN - 1, "^$JOB\202%d\202PIPE_GLVN\201", pid);      snprintf (k_buf, STRLEN - 1, "^$JOB\202%d\202PIPE_GLVN\201", pid);
     snprintf (d_buf, 5, "%%\201");      snprintf (d_buf, STRLEN - 1, "%%\201");
       symtab_shm (set_sym, k_buf, d_buf);
   
       snprintf (k_buf, STRLEN - 1, "^$JOB\202%d\202TRACE\201", pid);
       snprintf (d_buf, STRLEN - 1, "%d\201", trace_mode);
     symtab_shm (set_sym, k_buf, d_buf);      symtab_shm (set_sym, k_buf, d_buf);
           
     snprintf (k_buf, STRLEN - 1, "^$JOB\202%d\202ZCOMMANDS\201", pid);      snprintf (k_buf, STRLEN - 1, "^$JOB\202%d\202ZCOMMANDS\201", pid);
Line 279  void ssvn_job_update(void) Line 289  void ssvn_job_update(void)
     snprintf (k_buf, STRLEN - 1, "^$JOB\202%d\202$IO\201", pid);      snprintf (k_buf, STRLEN - 1, "^$JOB\202%d\202$IO\201", pid);
     symtab_shm (set_sym, k_buf, d_buf);      symtab_shm (set_sym, k_buf, d_buf);
   
     snprintf (d_buf, STRLEN -1, "%s\201", gvndefault);      snprintf (d_buf, STRLEN - 1, "%s\201", gvndefault);
     snprintf (k_buf, STRLEN - 1, "^$JOB\202%d\202GVNDEFAULT\201", pid);      snprintf (k_buf, STRLEN - 1, "^$JOB\202%d\202GVNDEFAULT\201", pid);
     symtab_shm (set_sym, k_buf, d_buf);      symtab_shm (set_sym, k_buf, d_buf);
   
Line 339  void ssvn_job_update(void) Line 349  void ssvn_job_update(void)
         default:          default:
   
             snprintf (d_buf, STRLEN - 1, "IEEE754\201");              snprintf (d_buf, STRLEN - 1, "IEEE754\201");
             snprintf (fp_conversion, 9, "%%.%df\201", DBL_DIG);              snprintf (fp_conversion, sizeof (fp_conversion) - 1, "%%.%df\201", DBL_DIG);
             zprecise = DBL_DIG;              zprecise = DBL_DIG;
                           
             break;              break;
Line 435  void ssvn_job(short action, char *key, c Line 445  void ssvn_job(short action, char *key, c
                     goto done;                      goto done;
   
                 }                  }
                   else if (strcmp (mref_get_subscript (r, 1), "TRACE") == 0) {
                       trace_mode = tvexpr (data);
                       goto done;
                   }
                 else if (strcmp (mref_get_subscript (r, 1), "LVNQOVAL") == 0) {                  else if (strcmp (mref_get_subscript (r, 1), "LVNQOVAL") == 0) {
                     stcpy (l_o_val, data);                      stcpy (l_o_val, data);
   
Line 904  void ssvn_job(short action, char *key, c Line 918  void ssvn_job(short action, char *key, c
                         fp_mode = 1;                          fp_mode = 1;
                         symtab_shm (set_sym, kbuf, data);                          symtab_shm (set_sym, kbuf, data);
   
                         snprintf (fp_conversion, 9, "%%.%df\201", DBL_DIG);                          snprintf (fp_conversion, sizeof (fp_conversion) - 1, "%%.%df\201", DBL_DIG);
                         zprecise = DBL_DIG;                          zprecise = DBL_DIG;
   
                         merr_clear ();                          merr_clear ();
Line 934  void ssvn_job(short action, char *key, c Line 948  void ssvn_job(short action, char *key, c
                 goto done;                  goto done;
             }              }
   
         case get_sym:          case get_sym:            
             if (strcmp (mref_get_subscript (r, 1), "LVNQOVAL") == 0) {              if (strcmp (mref_get_subscript (r, 1), "LVNQOVAL") == 0) {
                 stcpy (data, l_o_val);                  stcpy (data, l_o_val);
                 goto done;                  goto done;
Line 943  void ssvn_job(short action, char *key, c Line 957  void ssvn_job(short action, char *key, c
                 stcpy (data, g_o_val);                  stcpy (data, g_o_val);
                 goto done;                  goto done;
             }              }
               else if (strcmp (mref_get_subscript (r, 1), "TRACE") == 0) {
                   snprintf (data, STRLEN - 1, "%d\201", trace_mode);
                   goto done;
               }
         case fra_dat:          case fra_dat:
         case fra_order:          case fra_order:
         case fra_query:          case fra_query:

Removed from v.1.8  
changed lines
  Added in v.1.10


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