Replace standand library functions by portable ones.
authorJosé Fonseca <jrfonseca@tungstengraphics.com>
Mon, 25 Feb 2008 07:39:39 +0000 (16:39 +0900)
committerJosé Fonseca <jrfonseca@tungstengraphics.com>
Mon, 25 Feb 2008 07:39:39 +0000 (16:39 +0900)
src/gallium/auxiliary/cso_cache/cso_cache.c
src/gallium/auxiliary/cso_cache/cso_hash.c

index 776ce6bacf8d6616add9995675b6d81137183a11..9c32e94124c41591fd3929d24a99e67d3a6f63dc 100644 (file)
@@ -28,6 +28,8 @@
 /* Authors:  Zack Rusin <zack@tungstengraphics.com>
  */
 
+#include "pipe/p_util.h"
+
 #include "cso_cache.h"
 #include "cso_hash.h"
 
@@ -176,7 +178,7 @@ void * cso_take_state(struct cso_cache *sc,
 
 struct cso_cache *cso_cache_create(void)
 {
-   struct cso_cache *sc = malloc(sizeof(struct cso_cache));
+   struct cso_cache *sc = MALLOC_STRUCT(cso_cache);
 
    sc->blend_hash         = cso_hash_create();
    sc->sampler_hash       = cso_hash_create();
@@ -197,5 +199,5 @@ void cso_cache_delete(struct cso_cache *sc)
    cso_hash_delete(sc->rasterizer_hash);
    cso_hash_delete(sc->fs_hash);
    cso_hash_delete(sc->vs_hash);
-   free(sc);
+   FREE(sc);
 }
index e65d331a0b2fb3b4452670b4aba4d2967e5f6e64..208fc58502b00e6ef73d712997c880c19efb4d4c 100644 (file)
   *   Zack Rusin <zack@tungstengraphics.com>
   */
 
-#include "cso_hash.h"
+#include "pipe/p_debug.h"
+#include "pipe/p_util.h"
 
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
+#include "cso_hash.h"
 
 #define MAX(a, b) ((a > b) ? (a) : (b))
 
@@ -98,7 +96,7 @@ struct cso_hash {
 
 static void *cso_data_allocate_node(struct cso_hash_data *hash)
 {
-   return malloc(hash->nodeSize);
+   return MALLOC(hash->nodeSize);
 }
 
 static void cso_data_free_node(struct cso_node *node)
@@ -107,10 +105,10 @@ static void cso_data_free_node(struct cso_node *node)
     * Need to cast value ptr to original cso type, then free the
     * driver-specific data hanging off of it.  For example:
    struct cso_sampler *csamp = (struct cso_sampler *) node->value;
-   free(csamp->data);
+   FREE(csamp->data);
    */
-   free(node->value);
-   free(node);
+   FREE(node->value);
+   FREE(node);
 }
 
 static struct cso_node *
@@ -149,7 +147,7 @@ static void cso_data_rehash(struct cso_hash_data *hash, int hint)
 
       hash->numBits = (short)hint;
       hash->numBuckets = primeForNumBits(hint);
-      hash->buckets = malloc(sizeof(struct cso_node*) * hash->numBuckets);
+      hash->buckets = MALLOC(sizeof(struct cso_node*) * hash->numBuckets);
       for (i = 0; i < hash->numBuckets; ++i)
          hash->buckets[i] = e;
 
@@ -173,7 +171,7 @@ static void cso_data_rehash(struct cso_hash_data *hash, int hint)
             firstNode = afterLastNode;
          }
       }
-      free(oldBuckets);
+      FREE(oldBuckets);
    }
 }
 
@@ -235,8 +233,8 @@ struct cso_hash_iter cso_hash_insert(struct cso_hash *hash,
 
 struct cso_hash * cso_hash_create(void)
 {
-   struct cso_hash *hash = malloc(sizeof(struct cso_hash));
-   hash->data.d = malloc(sizeof(struct cso_hash_data));
+   struct cso_hash *hash = MALLOC_STRUCT(cso_hash);
+   hash->data.d = MALLOC_STRUCT(cso_hash_data);
    hash->data.d->fakeNext = 0;
    hash->data.d->buckets = 0;
    hash->data.d->size = 0;
@@ -261,9 +259,9 @@ void cso_hash_delete(struct cso_hash *hash)
          cur = next;
       }
    }
-   free(hash->data.d->buckets);
-   free(hash->data.d);
-   free(hash);
+   FREE(hash->data.d->buckets);
+   FREE(hash->data.d);
+   FREE(hash);
 }
 
 struct cso_hash_iter cso_hash_find(struct cso_hash *hash,
@@ -301,7 +299,7 @@ static struct cso_node *cso_hash_data_next(struct cso_node *node)
 
    a.next = node->next;
    if (!a.next) {
-      fprintf(stderr, "iterating beyond the last element\n");
+      debug_printf("iterating beyond the last element\n");
       return 0;
    }
    if (a.next->next)
@@ -352,7 +350,7 @@ static struct cso_node *cso_hash_data_prev(struct cso_node *node)
       --bucket;
       --start;
    }
-   fprintf(stderr, "iterating backward beyond first element\n");
+   debug_printf("iterating backward beyond first element\n");
    return a.e;
 }