strdup still not accepted by some systems. *sigh*.

This commit is contained in:
Thilo Schulz 2011-02-07 03:56:15 +00:00
parent a2715bc283
commit 1d2d67cdde

View file

@ -241,12 +241,15 @@ static void hash_add_label(const char* label, unsigned address)
{ {
struct hashentry* h; struct hashentry* h;
unsigned i = hashkey(label, -1U); unsigned i = hashkey(label, -1U);
int labellen;
i %= sizeof(labelhash)/sizeof(labelhash[0]); i %= sizeof(labelhash)/sizeof(labelhash[0]);
h = malloc(sizeof(struct hashentry)); h = malloc(sizeof(struct hashentry));
h->label = strdup(label); labellen = strlen(label) + 1;
h->label = malloc(labellen);
memcpy(h->label, label, labellen);
h->address = address; h->address = address;
h->next = labelhash[i]; h->next = labelhash[i];
labelhash[i] = h; labelhash[i] = h;