find_space (ikstack *s, ikschunk *c, size_t size)
{
/* FIXME: dont use *2 after over allocated chunks */
- while (1) {
+ while (c) {
if (c->size - c->used >= size) return c;
if (!c->next) {
if ((c->size * 2) > size) size = c->size * 2;
goto cont;
} else {
if (c & 0x80) {
- unsigned char mask;
if ((c & 0x60) == 0x40) {
prs->uni_max = 2;
- mask = 0x1F;
} else if ((c & 0x70) == 0x60) {
prs->uni_max = 3;
- mask = 0x0F;
} else if ((c & 0x78) == 0x70) {
prs->uni_max = 4;
- mask = 0x07;
} else if ((c & 0x7C) == 0x78) {
prs->uni_max = 5;
- mask = 0x03;
} else if ((c & 0x7E) == 0x7C) {
prs->uni_max = 6;
- mask = 0x01;
} else {
return IKS_BADXML;
}
memset (mem, 'x', i);
old = iks_stack_strcat (s, old, 0, buf + i, 1);
}
- if (strcmp (old, buf) != 0) {
+ if (old && strcmp (old, buf) != 0) {
printf ("ikstack strcat bug:\nExpected: %s\n Result: %s\n", buf, old);
exit (1);
}
nr = tester.cur->nr_atts;
while (nr) {
flag = 0;
- for (i = 0;atts[i]; i+= 2) {
+ for (i = 0;atts&&atts[i]; i+= 2) {
if (iks_strcmp (atts[i], tester.cur->atts[nr-1]) == 0 && iks_strcmp (atts[i+1], tester.cur->vals[nr-1]) == 0) {
flag = 1;
break;
struct item **tags, *t;
unsigned int i = 0, pos = 0;
- tags = calloc (sizeof (struct tag *), h->count);
+ tags = calloc (sizeof (struct item *), h->count);
for (; i < h->size; i ++) {
for (t = h->table[i]; t; t = t->next) {
unsigned long time;
iks *x;
iksparser *prs;
- char *xml;
int err;
prs = iks_dom_new (&x);
t_reset ();
- xml = iks_string (iks_stack (x), x);
+ iks_string (iks_stack (x), x);
time = t_elapsed ();
char *node = NULL;
char *ns = NULL;
ldl_handle_t *handle = user_data;
- iks *iq, *query, *tag;
+ iks *iq = NULL, *query, *tag;
uint8_t send = 0;
int x;