/*@null@*/ void *d))
{
HAMTEntry *entry;
- STAILQ_FOREACH(entry, &hamt->entries, next)
- if (func(entry->data, d) == 0)
- return 0;
- return 1;
+ STAILQ_FOREACH(entry, &hamt->entries, next) {
+ int retval = func(entry->data, d);
+ if (retval != 0)
+ return retval;
+ }
+ return 0;
}
/*@-temptrans -kepttrans -mustfree@*/
/*@dependent@*/ /*@null@*/ void *HAMT_search(HAMT *hamt, const char *str);
/** Traverse over all keys in HAMT, calling function on each data item.
- * Stops early if func returns 0.
* \param hamt Hash array mapped trie
* \param d Data to pass to each call to func.
* \param func Function to call
- * \return 0 if stopped early, 1 if all data items were traversed.
+ * \return Stops early (and returns func's return value) if func returns a
+ * nonzero value; otherwise 0.
*/
int HAMT_traverse(HAMT *hamt, /*@null@*/ void *d,
int (*func) (/*@dependent@*/ /*@null@*/ void *node,
}
/*@=freshtrans =mustfree@*/
-/* Call a function with each symrec. Stops early if 0 returned by func.
- Returns 0 if stopped early. */
int
yasm_symtab_traverse(yasm_symtab *symtab, void *d,
int (*func) (yasm_symrec *sym, void *d))
}
}
- return 1;
+ return 0;
}
void
assert(data != NULL);
fprintf(data->f, "%*sSymbol `%s'\n", data->indent_level, "", sym->name);
yasm_symrec_print(sym, data->f, data->indent_level+1);
- return 1;
+ return 0;
}
void
info->indx += sym_data->numaux + 1;
}
- return 1;
+ return 0;
}
static int
fwrite(info->buf, 18, 1, info->f);
}
}
- return 1;
+ return 0;
}
static int
}
}
}
- return 1;
+ return 0;
}
static void
assert(info != NULL);
if (!yasm_symrec_get_label(sym, &precbc))
- return 1;
+ return 0;
sect = yasm_bc_get_section(precbc);
entry = yasm_symrec_get_data(sym, &elf_symrec_data);
yasm_symrec_add_data(sym, &elf_symrec_data, entry);
if (is_sect)
- return 1;
+ return 0;
}
if (precbc)
value = precbc->offset + precbc->len;
elf_symtab_set_nonzero(entry, sect, 0, 0, 0, NULL, &value);
- return 1;
+ return 0;
}
static yasm_objfmt *
info->indx++;
}
- return 1;
+ return 0;
}
static int
YASM_WRITE_32_L(localbuf, flags); /* flags */
fwrite(info->buf, 16, 1, info->f);
}
- return 1;
+ return 0;
}
static int
size_t len = strlen(name);
fwrite(name, len+1, 1, info->f);
}
- return 1;
+ return 0;
}
static void