本文整理汇总了C++中AsmFormatPluginHelper::get_string_by_id方法的典型用法代码示例。如果您正苦于以下问题:C++ AsmFormatPluginHelper::get_string_by_id方法的具体用法?C++ AsmFormatPluginHelper::get_string_by_id怎么用?C++ AsmFormatPluginHelper::get_string_by_id使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AsmFormatPluginHelper
的用法示例。
在下文中一共展示了AsmFormatPluginHelper::get_string_by_id方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: _decode_map_method_id
static int _decode_map_method_id(AsmFormatPlugin * format, off_t offset,
size_t size)
{
AsmFormatPluginHelper * helper = format->helper;
Dex * dex = format;
ssize_t s;
size_t i;
AsmString * string;
char const * name;
#ifdef DEBUG
fprintf(stderr, "DEBUG: %s(%ld, %lu)\n", __func__, offset, size);
#endif
if(dex->dmii != NULL)
return 0; /* already parsed */
if(helper->seek(helper->format, offset, SEEK_SET) != offset)
return -1;
s = sizeof(*dex->dmii) * size;
if((dex->dmii = malloc(s)) == NULL)
return -error_set_code(1, "%s", strerror(errno));
if(helper->read(helper->format, dex->dmii, s) != s)
return -1;
for(i = 0; i < size; i++)
{
dex->dmii[i].class_idx = _htol16(dex->dmii[i].class_idx);
dex->dmii[i].proto_idx = _htol16(dex->dmii[i].proto_idx);
dex->dmii[i].name_idx = _htol32(dex->dmii[i].name_idx);
if((string = helper->get_string_by_id(helper->format,
dex->dmii[i].name_idx)) != NULL)
name = string->name;
else
/* XXX report error? */
name = NULL;
helper->set_function(helper->format, i, name, -1, -1);
}
dex->dmii_cnt = size;
return 0;
}