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