return (((kind == CTF_K_INTEGER) || (kind == CTF_K_ENUM)
|| (kind == CTF_K_FLOAT))
&& ctf_type_reference (fp, id) != CTF_ERR
- && ctf_type_encoding (fp, id, enc) != CTF_ERR);
+ && ctf_type_encoding (fp, id, enc) == 0);
}
/* Return a dump for a single type, without member info: but do show the
else
{
if (asprintf (&bit, " %lx: %s (size %lx)", id, buf[0] == '\0' ?
- "(nameless)" : buf, ctf_type_size (fp, id)) < 0)
+ "(nameless)" : buf,
+ (unsigned long) ctf_type_size (fp, id)) < 0)
goto oom;
}
free (buf);
if ((typestr = ctf_dump_format_type (state->cds_fp, info->ctb_type)) == NULL)
{
free (str);
- return CTF_ERR; /* errno is set for us. */
+ return -1; /* errno is set for us. */
}
str = ctf_str_append (str, typestr);
const char *sym_name;
ctf_id_t type;
- if ((type = ctf_lookup_by_symbol (state->cds_fp, i)) < 0)
+ if ((type = ctf_lookup_by_symbol (state->cds_fp, i)) == CTF_ERR)
switch (ctf_errno (state->cds_fp))
{
/* Most errors are just an indication that this symbol is not a data
symbol, but this one indicates that we were called wrong, on a
CTF file with no associated symbol table. */
case ECTF_NOSYMTAB:
- return CTF_ERR;
+ return -1;
case ECTF_NOTDATA:
case ECTF_NOTYPEDAT:
continue;
sym_name = ctf_lookup_symbol_name (fp, i);
if (sym_name[0] == '\0')
{
- if (asprintf (&str, "%lx -> ", i) < 0)
+ if (asprintf (&str, "%lx -> ", (unsigned long) i) < 0)
return (ctf_set_errno (fp, ENOMEM));
}
else
{
- if (asprintf (&str, "%s (%lx) -> ", sym_name, i) < 0)
+ if (asprintf (&str, "%s (%lx) -> ", sym_name, (unsigned long) i) < 0)
return (ctf_set_errno (fp, ENOMEM));
}
if ((typestr = ctf_dump_format_type (state->cds_fp, type)) == NULL)
{
free (str);
- return CTF_ERR; /* errno is set for us. */
+ return -1; /* errno is set for us. */
}
str = ctf_str_append (str, typestr);
size_t j;
ctf_id_t *args;
- if ((type = ctf_func_info (state->cds_fp, i, &fi)) < 0)
+ if ((type = ctf_func_info (state->cds_fp, i, &fi)) == CTF_ERR)
switch (ctf_errno (state->cds_fp))
{
/* Most errors are just an indication that this symbol is not a data
symbol, but this one indicates that we were called wrong, on a
CTF file with no associated symbol table. */
case ECTF_NOSYMTAB:
- return CTF_ERR;
+ return -1;
case ECTF_NOTDATA:
case ECTF_NOTYPEDAT:
continue;
goto err;
str = ctf_str_append (str, " ");
- free (bit);
/* Function name. */
sym_name = ctf_lookup_symbol_name (fp, i);
if (sym_name[0] == '\0')
{
- if (asprintf (&bit, "%lx ", i) < 0)
+ if (asprintf (&bit, "%lx ", (unsigned long) i) < 0)
goto oom;
}
else
{
- if (asprintf (&bit, "%s (%lx) ", sym_name, i) < 0)
+ if (asprintf (&bit, "%s (%lx) ", sym_name, (unsigned long) i) < 0)
goto oom;
}
str = ctf_str_append (str, bit);
str = ctf_str_append (str, " (");
+ free (bit);
/* Function arguments. */
err:
free (args);
free (str);
- return CTF_ERR; /* errno is set for us. */
+ return -1; /* errno is set for us. */
}
return 0;
}
if ((typestr = ctf_dump_format_type (state->cds_fp, type)) == NULL)
{
free (str);
- return CTF_ERR; /* errno is set for us. */
+ return -1; /* errno is set for us. */
}
str = ctf_str_append (str, typestr);
if (asprintf (&bit, " [0x%lx] (ID 0x%lx) (kind %i) %s %s (aligned at 0x%lx",
offset, id, ctf_type_kind (state->cdm_fp, id), typestr, name,
- ctf_type_align (state->cdm_fp, id)) < 0)
+ (unsigned long) ctf_type_align (state->cdm_fp, id)) < 0)
goto oom;
*state->cdm_str = ctf_str_append (*state->cdm_str, bit);
free (typestr);
err:
free (str);
- return CTF_ERR; /* errno is set for us. */
+ return -1; /* errno is set for us. */
}
/* Dump the string table into the cds_items. */
fp->ctf_str[CTF_STRTAB_0].cts_len;)
{
char *str;
- if (asprintf (&str, "%lx: %s", s - fp->ctf_str[CTF_STRTAB_0].cts_strs,
+ if (asprintf (&str, "%lx: %s",
+ (unsigned long) (s - fp->ctf_str[CTF_STRTAB_0].cts_strs),
s) < 0)
return (ctf_set_errno (fp, ENOMEM));
ctf_dump_append (state, str);