All pastes #33140 Raw Edit

Mine

public c v1 · immutable
#33140 ·published 2005-12-10 00:09 UTC
rendered paste body
pirs_object *pirs_get_filetable (pirs_t *pirs) {        struct __pears_file_ent *file_entry;        int offset;        int height;        int i;        offset = 0;        pirs_dt_table *table;        for (height = 0;; height++) {                file_entry = (struct __pears_file_ent *)&(pirs->buf[P_OFF_FILETABLE + offset]);                if (file_entry->filename[0] == '\0')                        break;                offset += sizeof (struct __pears_file_ent);        }                table = pirs_alloc_table (7, height * 7, "File table");        table->header[0] = "Filename";        table->header[1] = "unknown0";        table->header[2] = "unknown1";        table->header[3] = "offset";        table->header[4] = "unknown3";        table->header[5] = "size";        table->header[6] = "unknown5";        i = 0;        offset = 0;        while (1) {                file_entry = (struct __pears_file_ent *)&(pirs->buf[P_OFF_FILETABLE + offset]);                if (file_entry->filename[0] == '\0')                        break;                table->entries[i++] = pirs_alloc_table_ent (String, (unsigned long)strdup (file_entry->filename));                table->entries[i++] = pirs_alloc_table_ent (Hexa32, bs32(file_entry->unknown0));                table->entries[i++] = pirs_alloc_table_ent (Hexa32, bs32(file_entry->unknown1));                table->entries[i++] = pirs_alloc_table_ent (Hexa32, bs32(file_entry->unknown2 >> 4));                table->entries[i++] = pirs_alloc_table_ent (Hexa32, bs32(file_entry->unknown3));                table->entries[i++] = pirs_alloc_table_ent (Hexa32, bs32(file_entry->unknown4));                table->entries[i++] = pirs_alloc_table_ent (Hexa32, bs32(file_entry->unknown5));                offset += sizeof (struct __pears_file_ent);        }        return pirs_alloc_object (Table, table);}