当前位置: 首页>>代码示例>>C++>>正文


C++ AsmFormatPluginHelper::set_string方法代码示例

本文整理汇总了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;
}
开发者ID:,项目名称:,代码行数:36,代码来源:


注:本文中的AsmFormatPluginHelper::set_string方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。