12 int get_iconlist(libr_file *file_handle, iconlist *icons)
20 icons->buffer = libr_malloc(file_handle, ICON_SECTION, &(icons->size));
21 if(icons->buffer == NULL)
29 iconentry *get_nexticon(iconlist *icons, iconentry *last_entry)
37 if(last_entry == NULL)
38 icons->entry.offset =
sizeof(uint32_t)+
sizeof(UUID);
40 icons->entry.offset += icons->entry.entry_size;
42 if(icons->entry.offset >= icons->size)
44 i = icons->entry.offset;
45 memcpy(&(icons->entry.entry_size), &(icons->buffer[i]),
sizeof(uint32_t));
46 i +=
sizeof(uint32_t);
47 icons->entry.type = (libr_icontype_t)icons->buffer[i];
48 i +=
sizeof(
unsigned char);
49 switch(icons->entry.type)
52 icons->entry.icon_size = 0;
53 icons->entry.name = &(icons->buffer[i]);
56 memcpy(&(icons->entry.icon_size), &(icons->buffer[i]),
sizeof(uint32_t));
57 i +=
sizeof(uint32_t);
58 icons->entry.name = &(icons->buffer[i]);
64 return &(icons->entry);
67 TQString elf_get_resource(libr_file *handle,
char *section_name)
69 size_t buffer_size = 0;
74 if(!libr_size(handle, section_name, &buffer_size))
80 buffer = (
char *) malloc(buffer_size+1);
81 buffer[buffer_size] = 0;
82 if(!libr_read(handle, section_name, buffer))