Partially sync files.el from XEmacs 21.5 for wildcard support.
[sxemacs] / src / libsst.c
index c30043f..1c6d095 100644 (file)
@@ -206,7 +206,8 @@ int fd, value;
 
        if ((value < -10) || (value > 18)) {
                char buf[255];
-               sprintf(buf, "sst_set_ger: GER %d out of range", value);
+               int sz = snprintf(buf, sizeof(buf), "sst_set_ger: GER %d out of range", value);
+               assert(sz >= 0 && sz < sizeof(buf));
                warn(buf);
                return;
        }
@@ -237,7 +238,8 @@ int fd, value;
 
        if ((value < -18) || (value > 12)) {
                char buf[255];
-               sprintf(buf, "sst_set_gr: GR %d out of range", value);
+               int sz = sprintf(buf, sizeof(buf), "sst_set_gr: GR %d out of range", value);
+               assert(sz >= 0 && sz < sizeof(buf));
                warn(buf);
                return;
        }
@@ -267,7 +269,8 @@ int fd, value;
        char buf[255];
 
        if ((value < -18) || (value > 12)) {
-               sprintf(buf, "sst_set_gx: GX %d out of range", value);
+               int sz = snprintf(buf, sizeof(buf), "sst_set_gx: GX %d out of range", value);
+               assert(sz >= 0 && sz < sizeof(buf));
                warn(buf);
                return;
        }
@@ -306,7 +309,9 @@ int fd, dhz1, dhz2, thz, rhz, usec;
        else {
                dval1 = (dhz1 * 128 + 63) / 1000;
                if ((dval1 < 1) || (dval1 > 255)) {
-                       sprintf(buf, "sst_tones: dhz1 %d out of range", dhz1);
+                       int sz = snprintf(buf, sizeof(buf),
+                                         "sst_tones: dhz1 %d out of range", dhz1);
+                       assert(sz >= 0 && sz < sizeof(buf));
                        warn(buf);
                        return;
                }
@@ -317,7 +322,9 @@ int fd, dhz1, dhz2, thz, rhz, usec;
        else {
                dval2 = (dhz2 * 128 + 63) / 1000;
                if ((dval2 < 1) || (dval2 > 255)) {
-                       sprintf(buf, "sst_tones: dhz2 %d out of range", dhz2);
+                       int sz = snprintf(buf, sizeof(buf),
+                                         "sst_tones: dhz2 %d out of range", dhz2);
+                       assert(sz >= 0 && sz < sizeof(buf));
                        warn(buf);
                        return;
                }
@@ -328,7 +335,9 @@ int fd, dhz1, dhz2, thz, rhz, usec;
        else {
                tval = (thz * 128 + 63) / 2000;
                if ((tval < 1) || (tval > 255)) {
-                       sprintf(buf, "sst_tones: thz %d out of range", thz);
+                       int sz = snprintf(buf, sizeof(buf),
+                                         "sst_tones: thz %d out of range", thz);
+                       assert(sz >= 0 && sz < sizeof(buf));
                        warn(buf);
                        return;
                }
@@ -339,24 +348,28 @@ int fd, dhz1, dhz2, thz, rhz, usec;
        else {
                rval = (rhz * 128 + 63) / 2000;
                if ((rval < 1) || (rval > 255)) {
-                       sprintf(buf, "sst_tones: rhz %d out of range", dhz2);
+                       int sz = snprintf(buf, sizeof(buf),
+                                         "sst_tones: rhz %d out of range", dhz2);
+                       assert(sz >= 0 && sz < sizeof(buf));
                        warn(buf);
                        return;
                }
        }
 
        if ((dval1 != 0 || dval2 != 0) && (tval != 0 || rval != 0)) {
-               sprintf(buf,
-                       "sst_tones: cannot use DTMF and TONE or RINGER at the same time",
-                       dhz2);
+               int sz = snprintf(buf, sizeof(buf),
+                                 "sst_tones: cannot use DTMF and TONE or RINGER "
+                                 "at the same time",  dhz2);
+               assert(sz >= 0 && sz < sizeof(buf));
                warn(buf);
                return;
        }
 
        if (tval != 0 && rval != 0) {
-               sprintf(buf,
-                       "sst_tones: cannot use TONE and RINGER at the same time",
-                       dhz2);
+               int sz = sprintf(buf, sizeof(buf),
+                                "sst_tones: cannot use TONE and RINGER at the same time",
+                                dhz2);
+               assert(sz >= 0 && sz < sizeof(buf));
                warn(buf);
                return;
        }
@@ -482,9 +495,10 @@ char *dial;
                default:
                        {
                                char buf[255];
-                               sprintf(buf,
-                                       "sst_dtmf: unknown dialing code '%c'",
-                                       *cp);
+                               int sz = snprintf(buf, sizeof(buf),
+                                                 "sst_dtmf: unknown dialing code '%c'",
+                                                 *cp);
+                               assert(sz >= 0 && sz < sizeof(buf));
                                warn(buf);
                        }
                }