More warning suppressions
[sxemacs] / src / ui / lwlib / xlwmenu.c
index 1d671f6..7b067d7 100644 (file)
@@ -44,6 +44,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 #endif                         /* XmVersion < 1.2 */
 #endif
 #include "xlwmenuP.h"
+#include "lwlib-internal.h"
 
 #include <sxe-utils.h>
 
@@ -51,6 +52,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 #include <dmalloc.h>
 #endif
 
+
 /* simple, naive integer maximum */
 #ifndef max
 #define max(a,b) ((a)>(b)?(a):(b))
@@ -579,7 +581,8 @@ static char *parameterize_string(const char *string, const char *value)
                off_t offset = percent-string;
 
                if (percent[1] == '%') {        /* it's a real % */
-                       assert( res_left >= (1 + offset) );
+                       assert( offset >=0 && 
+                               res_left >= (size_t)(1 + offset));
                                                /* incl % */
                        strncat(result, string, 1 + offset);
                        res_left -= 1 + offset;
@@ -596,7 +599,8 @@ static char *parameterize_string(const char *string, const char *value)
                        } else if (*p == '-') { /* right pad */
                                right_pad++;
                        } else if (*p == '1') { /* param and terminator */
-                               assert( res_left >= offset );
+                               assert( offset >= 0 && 
+                                       res_left >= (size_t)offset );
                                res_left -= offset;
                                strncat(result, string, offset);
                                if (value[0] != '\0') {
@@ -613,9 +617,11 @@ static char *parameterize_string(const char *string, const char *value)
                                break;  /* out of for() loop */
                        } else {        /* bogus, copy the format as is */
                                /* out of for() loop */
-                               assert( res_left >= (1+ p - string) );
-                               strncat(result, string, 1 + p - string);
-                               res_left -= 1 + p - string;
+                               off_t remain = 1 + p - string;
+                               assert( remain >=0 && 
+                                       res_left >= (size_t)remain );
+                               strncat(result, string, remain);
+                               res_left -= remain;
                                string = (*p ? &p[1] : p);
                                offset = percent - string;
                                break;
@@ -655,7 +661,9 @@ static XmString resource_widget_value(XlwMenuWidget mw, widget_value * val)
                           resource. */
                        if (val->value) {
                                char named_name[1024];
-                               sprintf(named_name, "%sNamed", massaged_name);
+                               int sz = snprintf(named_name, sizeof(named_name),
+                                                 "%sNamed", massaged_name);
+                               assert(sz >= 0 && sz < sizeof(named_name));
                                XtGetSubresources((Widget) mw,
                                                  (XtPointer) & resourced_name,
                                                  named_name, named_name,