gallium: Silence MSVC warnings.
authorJosé Fonseca <jrfonseca@tungstengraphics.com>
Tue, 11 Mar 2008 23:51:27 +0000 (23:51 +0000)
committerJosé Fonseca <jrfonseca@tungstengraphics.com>
Wed, 12 Mar 2008 00:27:52 +0000 (00:27 +0000)
src/gallium/auxiliary/util/u_snprintf.c
src/gallium/drivers/i915simple/i915_state.c
src/gallium/drivers/softpipe/sp_state_sampler.c

index 5e19a2ddb2a2f9d468f1af59d18ac8df165bf3e9..61c20b48f7e4785268a61842a836dfa73736b21b 100644 (file)
@@ -241,7 +241,6 @@ static void *mymemcpy(void *, void *, size_t);
 #endif /* !HAVE_VASPRINTF */
 
 #if !HAVE_VSNPRINTF
-#include <errno.h>     /* For ERANGE and errno. */
 #include <limits.h>    /* For *_MAX. */
 #if HAVE_INTTYPES_H
 #include <inttypes.h>  /* For intmax_t (if not defined in <stdint.h>). */
@@ -445,8 +444,6 @@ static UINTMAX_T cast(LDOUBLE);
 static UINTMAX_T myround(LDOUBLE);
 static LDOUBLE mypow10(int);
 
-extern int errno;
-
 int
 rpl_vsnprintf(char *str, size_t size, const char *format, va_list args)
 {
@@ -747,7 +744,7 @@ rpl_vsnprintf(char *str, size_t size, const char *format, va_list args)
                                        goto out;
                                break;
                        case 'c':
-                               cvalue = va_arg(args, int);
+                               cvalue = (unsigned char)va_arg(args, int);
                                OUTCHAR(str, len, size, cvalue);
                                break;
                        case 's':
@@ -844,7 +841,6 @@ out:
                str[size - 1] = '\0';
 
        if (overflow || len >= INT_MAX) {
-               errno = overflow ? EOVERFLOW : ERANGE;
                return -1;
        }
        return (int)len;
@@ -1106,7 +1102,7 @@ again:
         * Factor of ten with the number of digits needed for the fractional
         * part.  For example, if the precision is 3, the mask will be 1000.
         */
-       mask = mypow10(precision);
+       mask = (UINTMAX_T)mypow10(precision);
        /*
         * We "cheat" by converting the fractional part to integer by
         * multiplying by a factor of ten.
@@ -1358,7 +1354,7 @@ cast(LDOUBLE value)
        if (value >= UINTMAX_MAX)
                return UINTMAX_MAX;
 
-       result = value;
+       result = (UINTMAX_T)value;
        /*
         * At least on NetBSD/sparc64 3.0.2 and 4.99.30, casting long double to
         * an integer type converts e.g. 1.9 to 2 instead of 1 (which violates
index 24143243d3d863a4580530a49fbc7868ee9275f9..d9ab483bfca9a08df7bab3e4a2630f3351d8f1c6 100644 (file)
@@ -273,6 +273,7 @@ static void i915_bind_sampler_states(struct pipe_context *pipe,
                                      unsigned num, void **sampler)
 {
    struct i915_context *i915 = i915_context(pipe);
+   unsigned i;
 
    assert(num <= PIPE_MAX_SAMPLERS);
 
@@ -281,8 +282,10 @@ static void i915_bind_sampler_states(struct pipe_context *pipe,
        !memcmp(i915->sampler, sampler, num * sizeof(void *)))
       return;
 
-   memcpy(i915->sampler, sampler, num * sizeof(void *));
-   memset(&i915->sampler[num], 0, (PIPE_MAX_SAMPLERS - num) * sizeof(void *));
+   for (i = 0; i < num; ++i)
+      i915->sampler[i] = sampler[i];
+   for (i = num; i < PIPE_MAX_SAMPLERS; ++i)
+      i915->sampler[i] = NULL;
 
    i915->num_samplers = num;
 
index 7cf85b9207b6f146e71226e42bf3e0e9588770cf..033288a0aa379391387bf4a6504bb672daaaf7be 100644 (file)
@@ -56,6 +56,7 @@ softpipe_bind_sampler_states(struct pipe_context *pipe,
                              unsigned num, void **sampler)
 {
    struct softpipe_context *softpipe = softpipe_context(pipe);
+   unsigned i;
 
    assert(num <= PIPE_MAX_SAMPLERS);
 
@@ -66,9 +67,10 @@ softpipe_bind_sampler_states(struct pipe_context *pipe,
 
    draw_flush(softpipe->draw);
 
-   memcpy(softpipe->sampler, sampler, num * sizeof(void *));
-   memset(&softpipe->sampler[num], 0, (PIPE_MAX_SAMPLERS - num) *
-          sizeof(void *));
+   for (i = 0; i < num; ++i)
+      softpipe->sampler[i] = sampler[i];
+   for (i = num; i < PIPE_MAX_SAMPLERS; ++i)
+      softpipe->sampler[i] = NULL;
 
    softpipe->num_samplers = num;