--- freem/src/ssvn_system.c	2025/01/19 02:04:04	1.1.1.1
+++ freem/src/ssvn_system.c	2025/03/09 15:20:18	1.3
@@ -15,7 +15,7 @@
  *    ^$SYSTEM ssv
  *
  *  
- *   Author: Serena Willis <jpw@coherent-logic.com>
+ *   Author: Serena Willis <snw@coherent-logic.com>
  *    Copyright (C) 1998 MUG Deutschland
  *    Copyright (C) 2020 Coherent Logic Development LLC
  *
@@ -240,7 +240,7 @@ void ssvn_system(short action, char *key
                     break;
                 }
                 
-                sprintf (data, errmes[errnum]);
+                sprintf (data, "%s", errmes[errnum]);
                 merr_clear ();
                 break;
                 
@@ -258,78 +258,78 @@ void ssvn_system(short action, char *key
                 break;
             }
             else if (strcmp (r->subscripts[0], "DEFUDFSVSIZ") == 0) {
-                sprintf (data, "%ld\201", DEFUDFSVSIZ);
+                sprintf (data, "%ld\201", (long) DEFUDFSVSIZ);
                 merr_clear ();
                 break;
             }
             else if (strcmp (r->subscripts[0], "DEFNSIZE") == 0) {
-                sprintf (data, "%ld\201", DEFNSIZE);
+                sprintf (data, "%ld\201", (long) DEFNSIZE);
                 merr_clear ();
                 break;
             }
             else if (strcmp (r->subscripts[0], "MAXNO_OF_RBUF") == 0) {
-                sprintf (data, "%ld\201", MAXNO_OF_RBUF);
+                sprintf (data, "%d\201", MAXNO_OF_RBUF);
                 merr_clear ();
                 break;
             }
             else if (strcmp (r->subscripts[0], "DEFNO_OF_RBUF") == 0) {
-                sprintf (data, "%ld\201", DEFNO_OF_RBUF);
+                sprintf (data, "%ld\201", (long) DEFNO_OF_RBUF);
                 merr_clear ();
                 break;                
             }
             else if (strcmp (r->subscripts[0], "DEFPSIZE0") == 0) {
-                sprintf (data, "%ld\201", DEFPSIZE0);
+                sprintf (data, "%d\201", DEFPSIZE0);
                 merr_clear ();
                 break;
             }
             else if (strcmp (r->subscripts[0], "NO_GLOBLS") == 0) {
-                sprintf (data, "%ld\201", NO_GLOBLS);
+                sprintf (data, "%d\201", NO_GLOBLS);
                 merr_clear ();
                 break;
             }
             else if (strcmp (r->subscripts[0], "NO_OF_GBUF") == 0) {
-                sprintf (data, "%ld\201", NO_OF_GBUF);
+                sprintf (data, "%d\201", NO_OF_GBUF);
                 merr_clear ();
                 break;
             }
             else if (strcmp (r->subscripts[0], "NESTLEVLS") == 0) {
-                sprintf (data, "%ld\201", NESTLEVLS);
+                sprintf (data, "%d\201", NESTLEVLS);
                 merr_clear ();
                 break;
             }
             else if (strcmp (r->subscripts[0], "PARDEPTH") == 0) {
-                sprintf (data, "%ld\201", PARDEPTH);
+                sprintf (data, "%d\201", PARDEPTH);
                 merr_clear ();
                 break;
             }
             else if (strcmp (r->subscripts[0], "PATDEPTH") == 0) {
-                sprintf (data, "%ld\201", PATDEPTH);
+                sprintf (data, "%d\201", PATDEPTH);
                 merr_clear ();
                 break;
             }
             else if (strcmp (r->subscripts[0], "TRLIM") == 0) {
-                sprintf (data, "%ld\201", TRLIM);
+                sprintf (data, "%d\201", TRLIM);
                 merr_clear ();
                 break;
             }
             else if (strcmp (r->subscripts[0], "ARGS_IN_ESC") == 0) {
-                sprintf (data, "%ld\201", ARGS_IN_ESC);
+                sprintf (data, "%d\201", ARGS_IN_ESC);
                 merr_clear ();
                 break;
             }
             else if (strcmp (r->subscripts[0], "ZTLEN") == 0) {
-                sprintf (data, "%ld\201", ZTLEN);
+                sprintf (data, "%d\201", ZTLEN);
                 merr_clear ();
                 break;
             }
             else if (strcmp (r->subscripts[0], "FUNLEN") == 0) {
-                sprintf (data, "%ld\201", FUNLEN);
+                sprintf (data, "%d\201", FUNLEN);
                 merr_clear ();
                 break;
             }
             else if (strcmp (r->subscripts[0], "STRING_MAX") == 0) {
 
-                sprintf (data, "%ld\201", STRLEN);
+                sprintf (data, "%d\201", STRLEN);
                 merr_clear ();
                 break;