Files
@ r21584:561d516cfa45
Branch filter:
Location: cpp/openttd-patchpack/source/src/tar_type.h - annotation
r21584:561d516cfa45
1.6 KiB
text/x-c
(svn r26708) -Codechange: replace C preprocessor with all kinds of options to prevent adding certain things to the result and the sed script to remove everything that shouldn't be in the resulting nfo file but came out of the C preprocessor by a small-ish awk program. This means no more breaking if a C preprocessor decides to add more data to the processed file (like GCC's inclusion of stdc-predef.h when not passing -nostdinc). It furthermore more than halfs the time needed for the assemble step of the extra GRF compilation
r9581:57d6f584b7ea r9581:57d6f584b7ea r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r10560:8bdfc4b8040a r10560:8bdfc4b8040a r9581:57d6f584b7ea r9591:8a2719f40368 r9581:57d6f584b7ea r9581:57d6f584b7ea r9581:57d6f584b7ea r9581:57d6f584b7ea r18876:3403b9c464f9 r18876:3403b9c464f9 r9581:57d6f584b7ea r9581:57d6f584b7ea r9581:57d6f584b7ea r10696:8dfe83e30d01 r9702:6f5b71553617 r9703:dd910442ef0b r9703:dd910442ef0b r9703:dd910442ef0b r10696:8dfe83e30d01 r18352:6c15d75d1ab9 r9581:57d6f584b7ea r9581:57d6f584b7ea r9581:57d6f584b7ea r9702:6f5b71553617 r9581:57d6f584b7ea r9581:57d6f584b7ea r9581:57d6f584b7ea r9581:57d6f584b7ea r9702:6f5b71553617 r9581:57d6f584b7ea r18370:7fbb35cad336 r18370:7fbb35cad336 r9581:57d6f584b7ea r18370:7fbb35cad336 r9581:57d6f584b7ea r9581:57d6f584b7ea | /* $Id$ */
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/** @file tar_type.h Structs, typedefs and macros used for TAR file handling. */
#ifndef TAR_TYPE_H
#define TAR_TYPE_H
#include <map>
#include <string>
#include "fileio_type.h"
/** The define of a TarList. */
struct TarListEntry {
const char *filename;
const char *dirname;
/* MSVC goes copying around this struct after initialisation, so it tries
* to free filename, which isn't set at that moment... but because it
* initializes the variable with garbage, it's going to segfault. */
TarListEntry() : filename(NULL), dirname(NULL) {}
~TarListEntry() { free(this->filename); free(this->dirname); }
};
struct TarFileListEntry {
const char *tar_filename;
size_t size;
size_t position;
};
typedef std::map<std::string, TarListEntry> TarList;
typedef std::map<std::string, TarFileListEntry> TarFileList;
extern TarList _tar_list[NUM_SUBDIRS];
extern TarFileList _tar_filelist[NUM_SUBDIRS];
#define FOR_ALL_TARS(tar, sd) for (tar = _tar_filelist[sd].begin(); tar != _tar_filelist[sd].end(); tar++)
#endif /* TAR_TYPE_H */
|