Diff for /freem/src/objects.c between versions 1.4 and 1.6

version 1.4, 2025/04/09 19:52:02 version 1.6, 2025/04/13 04:22:43
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.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/04/09 19:52:02  snw   *   Revision 1.4  2025/04/09 19:52:02  snw
  *   Eliminate as many warnings as possible while building with -Wall   *   Eliminate as many warnings as possible while building with -Wall
  *   *
Line 121  void obj_set_attribute(char *inst, char Line 127  void obj_set_attribute(char *inst, char
     char t_key[255];      char t_key[255];
     char t_data[255];      char t_data[255];
   
     snprintf (t_key, 254, "^$OBJECT\202%s\202%s\201", inst, attrib);      snprintf (t_key, sizeof (t_key) - 1, "^$OBJECT\202%s\202%s\201", inst, attrib);
     snprintf (t_data, 254, "%s\201", value);      snprintf (t_data, sizeof (t_data) - 1, "%s\201", value);
   
     symtab_bltin (set_sym, t_key, t_data);      symtab_bltin (set_sym, t_key, t_data);
 }  }
Line 131  short obj_get_attribute(char *inst, char Line 137  short obj_get_attribute(char *inst, char
 {  {
     char t_key[255];      char t_key[255];
   
     snprintf (t_key, 254, "^$OBJECT\202%s\202%s\201", inst, attrib);      snprintf (t_key, sizeof (t_key) - 1, "^$OBJECT\202%s\202%s\201", inst, attrib);
   
     symtab_bltin (get_sym, t_key, buf);      symtab_bltin (get_sym, t_key, buf);
   
     if (merr () == UNDEF || merr () == M6) {      if (merr () == UNDEF || merr () == M6) {
                   
         if (strcmp (attrib, "CLASS") == 0) {          if (strcmp (attrib, "CLASS") == 0) {
             // non-object variables always belong to the ^%STRING class              /* non-object variables always belong to the ^%STRING class */
             snprintf (buf, 9, "^%%STRING");              snprintf (buf, 9, "^%%STRING");
   
             merr_clear ();              merr_clear ();
Line 159  short obj_get_attribute(char *inst, char Line 165  short obj_get_attribute(char *inst, char
   
 void obj_destroy(char *inst)  void obj_destroy(char *inst)
 {  {
     char t_key[255];      char t_key[256];
   
     snprintf (t_key, 254, "^$OBJECT\202\%s\201", inst);      snprintf (t_key, sizeof (t_key) - 1, "^$OBJECT\202\%s\201", inst);
     symtab_bltin (kill_sym, t_key, " \201");      symtab_bltin (kill_sym, t_key, " \201");
 }  }
   
 void obj_create_symbols(char *objvar, char *class)  void obj_create_symbols(char *objvar, char *class)
 {  {
     char t_key[255];      char t_key[256];
     char t_data[255];      char t_data[256];
   
     snprintf (t_key, 254, "%s\201", objvar);      snprintf (t_key, sizeof (t_key) - 1, "%s\201", objvar);
     snprintf (t_data, 254, " \201");      snprintf (t_data, sizeof (t_data) - 1, " \201");
   
     symtab_bltin (set_sym, t_key, t_data);      symtab_bltin (set_sym, t_key, t_data);
   
Line 192  void obj_get_constructor(char *construct Line 198  void obj_get_constructor(char *construct
     strcpy (outref.name, inref.name);      strcpy (outref.name, inref.name);
     outref.subscript_count = inref.subscript_count + 1;      outref.subscript_count = inref.subscript_count + 1;
   
     snprintf (outref.subscripts[0], 255, ".%s", instvar);      snprintf (outref.subscripts[0], STRLEN - 1, ".%s", instvar);
   
     for (i = 0; i < inref.subscript_count; i++) {      for (i = 0; i < inref.subscript_count; i++) {
         strcpy (outref.subscripts[i + 1], inref.subscripts[i]);          strcpy (outref.subscripts[i + 1], inref.subscripts[i]);

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


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