For the Oct. 10 snapshot Solaris 10 cc issues this warning: "mbsalign.c", line 135: warning: initializer does not fit or is out of range: -1
This is just a warning and doesn't break anything, but it's trivial to fix: >From 879d26601a7423e847fbc566ff7cea83ec7ed4e9 Mon Sep 17 00:00:00 2001 From: Paul Eggert <[email protected]> Date: Tue, 12 Oct 2010 12:31:13 -0700 Subject: [PATCH] mbsalign: avoid warning with Solaris 10 cc * gl/lib/mbsalign.c: Include <stdint.h> for SIZE_MAX. Use SIZE_MAX rather than (size_t) -1, to avoid warning for "size_t x = -1" on Solaris 10 cc. * gl/modules/mbsalign (Depends-on): Add stdint. --- gl/lib/mbsalign.c | 9 +++++---- gl/modules/mbsalign | 1 + 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/gl/lib/mbsalign.c b/gl/lib/mbsalign.c index 117e4bf..d588432 100644 --- a/gl/lib/mbsalign.c +++ b/gl/lib/mbsalign.c @@ -22,6 +22,7 @@ #include <stdlib.h> #include <string.h> #include <stdio.h> +#include <stdint.h> #include <stdbool.h> #include <limits.h> #include <wchar.h> @@ -124,7 +125,7 @@ mbs_align_pad (char *dest, const char* dest_end, size_t n_spaces) Return the length in bytes required for the final result, not counting the trailing NUL. A return value of DEST_SIZE or larger means there wasn't enough space. DEST will be NUL terminated in any case. - Return (size_t) -1 upon error (invalid multi-byte sequence in SRC, + Return SIZE_MAX upon error (invalid multi-byte sequence in SRC, or malloc failure), unless MBA_UNIBYTE_FALLBACK is specified. Update *WIDTH to indicate how many columns were used before padding. */ @@ -132,7 +133,7 @@ size_t mbsalign (const char *src, char *dest, size_t dest_size, size_t *width, mbs_align_t align, int flags) { - size_t ret = -1; + size_t ret = SIZE_MAX; size_t src_size = strlen (src) + 1; char *newstr = NULL; wchar_t *str_wc = NULL; @@ -149,7 +150,7 @@ mbsalign (const char *src, char *dest, size_t dest_size, if (MB_CUR_MAX > 1) { size_t src_chars = mbstowcs (NULL, src, 0); - if (src_chars == (size_t) -1) + if (src_chars == SIZE_MAX) { if (flags & MBA_UNIBYTE_FALLBACK) goto mbsalign_unibyte; @@ -277,7 +278,7 @@ ambsalign (const char *src, size_t *width, mbs_align_t align, int flags) buf = nbuf; *width = orig_width; req = mbsalign (src, buf, size, width, align, flags); - if (req == (size_t) -1) + if (req == SIZE_MAX) { free (buf); buf = NULL; diff --git a/gl/modules/mbsalign b/gl/modules/mbsalign index 9d923b2..7f9c974 100644 --- a/gl/modules/mbsalign +++ b/gl/modules/mbsalign @@ -10,6 +10,7 @@ wchar wctype wcwidth mempcpy +stdint configure.ac: -- 1.7.2
