X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=pak.c;h=9781c53aa2f8a9bcc3a603809cc3d48812e7c840;hp=7de0ec6008c6d2a41beb868ea2aad4e9cf57da21;hb=ff37abb0c7c60481e1264914fa5e02e9986c5cd9;hpb=9cc4fe1ed246e3c37af7cbd7245b0b413372f3b9 diff --git a/pak.c b/pak.c index 7de0ec6..9781c53 100644 --- a/pak.c +++ b/pak.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2013, 2014 + * Copyright (C) 2013, 2014, 2015 * Dale Weiler * * Permission is hereby granted, free of charge, to any person obtaining a copy of @@ -145,7 +145,10 @@ static pak_file_t *pak_open_read(const char *file) { memset (&pak->header, 0, sizeof(pak_header_t)); fs_file_read (&pak->header, sizeof(pak_header_t), 1, pak->handle); - util_endianswap(&pak->header, 1, sizeof(pak_header_t)); + + util_endianswap(&pak->header.magic, 1, sizeof(pak->header.magic)); + util_endianswap(&pak->header.diroff, 1, sizeof(pak->header.diroff)); + util_endianswap(&pak->header.dirlen, 1, sizeof(pak->header.dirlen)); /* * Every PAK file has "PACK" stored as FOURCC data in the @@ -171,7 +174,10 @@ static pak_file_t *pak_open_read(const char *file) { for (itr = 0; itr < pak->header.dirlen / 64; itr++) { pak_directory_t dir; fs_file_read (&dir, sizeof(pak_directory_t), 1, pak->handle); - util_endianswap(&dir, 1, sizeof(pak_directory_t)); + + /* Don't translate name - it's just an array of bytes. */ + util_endianswap(&dir.pos, 1, sizeof(dir.pos)); + util_endianswap(&dir.len, 1, sizeof(dir.len)); vec_push(pak->directories, dir); }