Diff for /freem/src/mlib.c between versions 1.3 and 1.6

version 1.3, 2025/03/09 19:50:47 version 1.6, 2025/04/13 04:22:43
Line 25 Line 25
  *   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.6  2025/04/13 04:22:43  snw
    *   Fix snprintf calls
    *
    *   Revision 1.5  2025/04/10 01:24:38  snw
    *   Remove C++ style comments
    *
    *   Revision 1.4  2025/03/24 04:13:11  snw
    *   Replace action macro dat with fra_dat to avoid symbol conflict on OS/2
    *
  *   Revision 1.3  2025/03/09 19:50:47  snw   *   Revision 1.3  2025/03/09 19:50:47  snw
  *   Second phase of REUSE compliance and header reformat   *   Second phase of REUSE compliance and header reformat
  *   *
Line 90  void mref2str(freem_ref_t *ref, char *ke Line 99  void mref2str(freem_ref_t *ref, char *ke
         strcat (key, ref->name);          strcat (key, ref->name);
     }      }
   
     // ends with EOL      /* ends with EOL */
     strncat (key, "\201", 2);      strncat (key, "\201", 2);
   
 }  }
Line 108  pid_t freem_init(char *environment_name, Line 117  pid_t freem_init(char *environment_name,
     errno = 0;      errno = 0;
           
     strcpy (shm_env, environment_name);      strcpy (shm_env, environment_name);
     snprintf (config_file, 4096, "%s/freem/%s/freem.conf", SYSCONFDIR, shm_env);      snprintf (config_file, sizeof (config_file) - 1, "%s/freem/%s/freem.conf", SYSCONFDIR, shm_env);
           
     init (namespace_name);      init (namespace_name);
     ierr_sav = ierr;      ierr_sav = ierr;
Line 139  short freem_get(freem_ref_t *ref) Line 148  short freem_get(freem_ref_t *ref)
   
     freem_return_io ();      freem_return_io ();
   
     // set up the EOL-delimited string      /* set up the EOL-delimited string */
     mref2str (ref, key);      mref2str (ref, key);
   
     switch (ref->reftype) {      switch (ref->reftype) {
                   
         case MREF_RT_LOCAL:          case MREF_RT_LOCAL:
             // call into the symbol table to get the local var              /* call into the symbol table to get the local var */
             symtab (get_sym, key, result);              symtab (get_sym, key, result);
             ref->status = merr ();              ref->status = merr ();
             break;              break;
                   
         case MREF_RT_GLOBAL:          case MREF_RT_GLOBAL:
             // call into the FreeM global handler; result in &result              /* call into the FreeM global handler; result in &result */
             global (get_sym, key, result);              global (get_sym, key, result);
             ref->status = merr ();              ref->status = merr ();
             break;              break;
   
         case MREF_RT_SSVN:          case MREF_RT_SSVN:
             // call into the SSVN code              /* call into the SSVN code */
             ssvn (get_sym, key, result);              ssvn (get_sym, key, result);
             ref->status = merr ();              ref->status = merr ();
             break;              break;
Line 166  short freem_get(freem_ref_t *ref) Line 175  short freem_get(freem_ref_t *ref)
           
     stcnv_m2c (result);      stcnv_m2c (result);
   
     strncpy (ref->value, result, 255);      strncpy (ref->value, result, sizeof (ref->value));
   
     freem_release_io ();      freem_release_io ();
           
Line 182  short freem_set(freem_ref_t *ref) Line 191  short freem_set(freem_ref_t *ref)
   
     mref2str (ref, key);      mref2str (ref, key);
   
     snprintf (data, 254, "%s\201", ref->value);      snprintf (data, sizeof (data) - 1, "%s\201", ref->value);
   
     switch (ref->reftype) {      switch (ref->reftype) {
   
         case MREF_RT_LOCAL:          case MREF_RT_LOCAL:
             // call into the symbol table to set the local var              /* call into the symbol table to set the local var */
             symtab (set_sym, key, data);              symtab (set_sym, key, data);
             ref->status = merr ();              ref->status = merr ();
             break;              break;
                   
         case MREF_RT_GLOBAL:          case MREF_RT_GLOBAL:
             // call into the FreeM global handler; data in &data              /* call into the FreeM global handler; data in &data */
             global (set_sym, key, data);              global (set_sym, key, data);
             ref->status = merr ();              ref->status = merr ();
             break;              break;
   
         case MREF_RT_SSVN:          case MREF_RT_SSVN:
             // call into the SSVN code              /* call into the SSVN code */
             ssvn (set_sym, key, data);              ssvn (set_sym, key, data);
             ref->status = merr ();              ref->status = merr ();
             break;              break;
Line 224  short freem_kill(freem_ref_t *ref) Line 233  short freem_kill(freem_ref_t *ref)
     switch (ref->reftype) {      switch (ref->reftype) {
                   
         case MREF_RT_LOCAL:          case MREF_RT_LOCAL:
             // call into the symbol table to kill the local var              /* call into the symbol table to kill the local var */
             symtab (kill_sym, key, result);              symtab (kill_sym, key, result);
             ref->status = merr ();              ref->status = merr ();
             break;              break;
                   
         case MREF_RT_GLOBAL:          case MREF_RT_GLOBAL:
             // call into the FreeM global handler; result in &result              /* call into the FreeM global handler; result in &result */
             global (kill_sym, key, result);              global (kill_sym, key, result);
             ref->status = merr ();              ref->status = merr ();
             break;              break;
   
         case MREF_RT_SSVN:          case MREF_RT_SSVN:
             // call into the SSVN code              /* call into the SSVN code */
             ssvn (kill_sym, key, result);              ssvn (kill_sym, key, result);
             ref->status = merr ();              ref->status = merr ();
             break;              break;
Line 245  short freem_kill(freem_ref_t *ref) Line 254  short freem_kill(freem_ref_t *ref)
   
     stcnv_m2c (result);      stcnv_m2c (result);
   
     strncpy (ref->value, result, 255);      strncpy (ref->value, result, sizeof (ref->value) - 1);
   
     freem_release_io ();      freem_release_io ();
           
Line 265  short freem_data(freem_ref_t *ref) Line 274  short freem_data(freem_ref_t *ref)
     switch (ref->reftype) {      switch (ref->reftype) {
                   
         case MREF_RT_LOCAL:          case MREF_RT_LOCAL:
             // call into the symbol table              /* call into the symbol table */
             symtab (dat, key, result);              symtab (fra_dat, key, result);
             ref->status = merr ();              ref->status = merr ();
             break;              break;
                   
         case MREF_RT_GLOBAL:          case MREF_RT_GLOBAL:
             // call into the FreeM global handler; result in &result              /* call into the FreeM global handler; result in &result */
             global (dat, key, result);              global (fra_dat, key, result);
             ref->status = merr ();              ref->status = merr ();
             break;              break;
   
         case MREF_RT_SSVN:          case MREF_RT_SSVN:
             // call into the SSVN code              /* call into the SSVN code */
             ssvn (dat, key, result);              ssvn (fra_dat, key, result);
             ref->status = merr ();              ref->status = merr ();
             break;              break;
   
Line 305  short freem_order(freem_ref_t *ref) Line 314  short freem_order(freem_ref_t *ref)
     switch (ref->reftype) {      switch (ref->reftype) {
                   
         case MREF_RT_LOCAL:          case MREF_RT_LOCAL:
             // call into the symbol table for $ORDER              /* call into the symbol table for $ORDER */
             symtab (fra_order, key, result);              symtab (fra_order, key, result);
             ref->status = merr ();              ref->status = merr ();
             break;              break;
                   
         case MREF_RT_GLOBAL:          case MREF_RT_GLOBAL:
             // call into the FreeM global handler; result in &result              /* call into the FreeM global handler; result in &result */
             global (fra_order, key, result);              global (fra_order, key, result);
             ref->status = merr ();              ref->status = merr ();
             break;              break;
   
         case MREF_RT_SSVN:          case MREF_RT_SSVN:
             // call into the SSVN code              /* call into the SSVN code */
             ssvn (fra_order, key, result);              ssvn (fra_order, key, result);
             ref->status = merr ();              ref->status = merr ();
             break;              break;
Line 344  short freem_query(freem_ref_t *ref) Line 353  short freem_query(freem_ref_t *ref)
     switch (ref->reftype) {      switch (ref->reftype) {
                   
         case MREF_RT_LOCAL:          case MREF_RT_LOCAL:
             // call into the symbol table              /* call into the symbol table */
             symtab (fra_query, key, result);              symtab (fra_query, key, result);
             ref->status = merr ();              ref->status = merr ();
             break;              break;
                   
         case MREF_RT_GLOBAL:          case MREF_RT_GLOBAL:
             // call into the FreeM global handler; result in &result              /* call into the FreeM global handler; result in &result */
             global (fra_query, key, result);              global (fra_query, key, result);
             ref->status = merr ();              ref->status = merr ();
             break;              break;
   
         case MREF_RT_SSVN:          case MREF_RT_SSVN:
             // call into the SSVN code              /* call into the SSVN code */
             ssvn (fra_query, key, result);              ssvn (fra_query, key, result);
             ref->status = merr ();              ref->status = merr ();
             break;              break;
Line 378  short freem_lock(freem_ref_t *ref, long Line 387  short freem_lock(freem_ref_t *ref, long
     char buf[256];      char buf[256];
   
     mref2str (ref, key);      mref2str (ref, key);
     snprintf (buf, 255, "+%s\201", key);      snprintf (buf, sizeof (buf) - 1, "+%s\201", key);
   
     freem_return_io ();      freem_return_io ();
   
Line 396  short freem_unlock(freem_ref_t *ref, lon Line 405  short freem_unlock(freem_ref_t *ref, lon
     char buf[256];      char buf[256];
   
     mref2str (ref, key);      mref2str (ref, key);
     snprintf (buf, 255, "-%s\201", key);      snprintf (buf, sizeof (buf) - 1, "-%s\201", key);
   
     freem_return_io ();      freem_return_io ();
   
Line 475  short freem_function(freem_ent_t *ent) Line 484  short freem_function(freem_ent_t *ent)
     stcnv_c2m (buf);      stcnv_c2m (buf);
     sprintf (tmp, "%%ZFRMXEC\201");      sprintf (tmp, "%%ZFRMXEC\201");
     symtab (set_sym, tmp, buf);      symtab (set_sym, tmp, buf);
     snprintf ((char *) ztrap, 12, "^%%ZFRMXEC\201");      snprintf ((char *) ztrap, ZTLEN - 1, "^%%ZFRMXEC\201");
   
     xecline (3);      xecline (3);
     ent->status = merr ();      ent->status = merr ();
Line 483  short freem_function(freem_ent_t *ent) Line 492  short freem_function(freem_ent_t *ent)
     tmp[0] = NUL;      tmp[0] = NUL;
     ent->value[0] = NUL;      ent->value[0] = NUL;
   
     snprintf (tmp, 255, "%%ZFRMRTN\201");      snprintf (tmp, sizeof (tmp) - 1, "%%ZFRMRTN\201");
     symtab (get_sym, tmp, ent->value);      symtab (get_sym, tmp, ent->value);
     stcnv_m2c (ent->value);      stcnv_m2c (ent->value);
   
Line 536  short freem_procedure(freem_ent_t *ent) Line 545  short freem_procedure(freem_ent_t *ent)
     symtab (set_sym, tmp, buf);      symtab (set_sym, tmp, buf);
           
   
     snprintf ((char *) ztrap, 12, "^%%ZFRMXEC\201");      snprintf ((char *) ztrap, ZTLEN - 1, "^%%ZFRMXEC\201");
   
   
     xecline (3);      xecline (3);

Removed from v.1.3  
changed lines
  Added in v.1.6


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