Переглянути джерело

Replace standand library functions by portable ones.

tags/mesa_20090313
José Fonseca 17 роки тому
джерело
коміт
2a0675eb75

+ 4
- 2
src/gallium/auxiliary/cso_cache/cso_cache.c Переглянути файл

@@ -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);
}

+ 16
- 18
src/gallium/auxiliary/cso_cache/cso_hash.c Переглянути файл

@@ -30,12 +30,10 @@
* 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;
}


Завантаження…
Відмінити
Зберегти