This patch will create crashes where the code expects FREE to set the pointer to NULL! (Those problems should be fixed anyway.)
The only occassion where I saw this is when quiting a game, so it is not too much of an issue.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1459 4a71c877-e1ca-e34f-864e-861f7616d084
* remove ptrlist.c from lib/gamelib/Makefile.raw
* some modifications of char* -> const char*
* modify typedef of audio callback function to take a parameter of `void *psObj` rather than `AUDIO_SAMPLE *psSample` to minimize exposure (psSample->psObj was the only thing used by all callback functions anyway)
* modify all callback functions to match the new typedef's signature
* modify all functions calling callbacks to match the new signature (I think I've got them all, but since passing a pointer to a void* parameter doesn't generate any compiler errors/warnings I might have missed one, which would lead to undefined behaviour)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1442 4a71c877-e1ca-e34f-864e-861f7616d084
- Remove "-%token <sval> TEXT" from audp_parser.y since it clashed with declarations in MinGW's Windows headers. It does still compile and run, but this may have harmed something anyway. Please check!
- Hack around DATADIR being defined by objbase.h in MinGW by undefining it before the inclusion of shlobj.h (incl. in main.c) This only works since the case that DATADIR is actually used on Windows is extremely rare.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1437 4a71c877-e1ca-e34f-864e-861f7616d084
* since gettext_noop is always defined, remove the conditional definition of N_ which checks whether it is or is not defined
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1420 4a71c877-e1ca-e34f-864e-861f7616d084
_GNU_SOURCE can take effect first, to silence stpcpy() warnings from
bison generated code.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1416 4a71c877-e1ca-e34f-864e-861f7616d084
* use it in src/droid.c
* throw some hardcoded strings (in a switch statement) in an array of strings instead (using N_ there as well)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1414 4a71c877-e1ca-e34f-864e-861f7616d084
* use proper constness:
* make some functions take arguments of `const char*` rather than just `char*` (also modified some functions' return values to return `const char*` where appropiate)
* modify rank retrieval functions to use a central array instead; currently ranklimits (i.e. the amount of kills required to promote) is hardcoded in switch statements, as is the case with the names of those ranks
* `make -C po update-po`
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1409 4a71c877-e1ca-e34f-864e-861f7616d084
* turn a one-statement function into an inline (resDoResLoadCallback)
* revive resource loading from file (the function pointer for this was removed in r1394, to actually use this pointer new code had to be written)
* modify resDataInit to handle memory allocation as well as data initialization
* modify struct RES_DATA to not have a fixed size char array to contain the filename (is now dynamically allocated together with the rest of the struct, see resDataInit)
* modify some argument lists to take `const char*` instead of `char*`
* change resLoadFile to use RES_TYPE.fileLoad if available, also remove an unused if statement (well actually the condition could never be false)
* resource type "WAV" (see data.c) now directly loads from a file (rather than copying the file entirely into memory and then to operate on that)
* fix sound_ConstructTrack (track.c) where I used the wrong source to copy the filename from
* fix sound_LoadTrackFromBuffer (track.c) to *not* add the track to the tracklist because this breaks other code
* modify sound_ReleaseTrack (track.c) to gracefully deal with NULL pointers
* remove dataAudioRelease (data.c) and instead just use sound_ReleaseTrack
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1397 4a71c877-e1ca-e34f-864e-861f7616d084
* remove function resAddFileLoad from lib/framework/frameresource.[ch] which was used to set RES_TYPE.fileLoad
* remove only call to resAddFileLoad from src/data.c, function dataInitLoadFuncs
* remove now completely unused function dataSaveGameLoad from src/data.c
* modify function dataInitLoadFuncs in src/data.c:
* modify the struct definition for the list of resource types
* modify the list accordingly
* remove the NULL-item from the end of the list
* modify list iteration code to use a start and end iterator (end being a pointer just past the last valid list-item, begin being the first valid one)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1394 4a71c877-e1ca-e34f-864e-861f7616d084
variables. 4. Commented out some unused sound code.
I just love Valgrind :)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1390 4a71c877-e1ca-e34f-864e-861f7616d084
Remove all callers (which all were commented out)
The 'real' font implementation used lives in ivis_
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1357 4a71c877-e1ca-e34f-864e-861f7616d084
* replace all instances of PTRVALID(ptr,size) by (ptr != NULL)
* remove asserts of style ASSERT( x == NULL || x != NULL ) because they would evaluate to true always anyhow and as such wouldn't ever trigger
* remove macros iV_HeapAlloc and iV_HeapFree and replaced them with MALLOC and FREE respectively (that's what they expanded to anyway)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1348 4a71c877-e1ca-e34f-864e-861f7616d084
The MSVC poject will need to be updated I guess, as some files were deleted.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1343 4a71c877-e1ca-e34f-864e-861f7616d084
- Remove unneeded checks from autogen.sh (all of them are also checked in configure.ac)
- Move AM_CPPFLAGS=-$(top_srcdir), which was included in nearly every Makefile, to configure.ac
- Remove -g from CFLAGS for usual builds. This should be set by the buildscripts instead
- Remove CFLAGS_OVERRIDE, which was rendered obsolete by the above change
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1332 4a71c877-e1ca-e34f-864e-861f7616d084
string, but does not use hashes. I could not see that it is ever used,
but it must be wrong, so fixing it anyway. Adding the first case of
gettext markup in the code.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1248 4a71c877-e1ca-e34f-864e-861f7616d084
- Vector3i from lib/ivis also used in lib/audio, maybe want to move it to some more generic place?
- Replace iPoint with Vector2i
- Remove additional integer type declarations from pietypes.h
- Rename all iSprite to iTexture
- Various warning fixes: Unsigned/signed comparisons, uninitialized variables, declared but not defined symbols
- Replace DEBUG_BLOCK with DEBUG_MALLOC (it was virtually the same)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1245 4a71c877-e1ca-e34f-864e-861f7616d084
- Examine si_code where non default (SI_*) value are possible
- Output signal in style: "SIGNAL: Problem: Reason"
- Handle more signals (all which are marked "A - Abnormal termination of the process" by the POSIX manual)
- Check for XSI extension (_XOPEN_UNIX) instead of presence of every single signal. Hope this works on all systems
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1226 4a71c877-e1ca-e34f-864e-861f7616d084
- Added a bit more safety to WZ_DECL_UNUSED (not sure since which GCC version this exists, so choose >=3.2)
- Encapsulate GLibC extensions and use rest of errorHandler for all POSIX systems (thus renamed to posixErrorHandler)
- A little bit more verbosity in the gdmp
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1222 4a71c877-e1ca-e34f-864e-861f7616d084
- Move programCommand into the Linux section as it is not needed on Windows
- Add some comments
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1206 4a71c877-e1ca-e34f-864e-861f7616d084
- Don't call GDB if not available
- Use fork/pipe/exec properly (subprocess ends after exec, so don't call other functions after it, close files correctly)
- sizeof(char) is guaranteed to be 1 by C
- Use execve instead of execle, because execle might perhaps cause problems
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1205 4a71c877-e1ca-e34f-864e-861f7616d084
definition on all platforms by using a switch and some ifdefs.
Looks ugly but should be safer.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1204 4a71c877-e1ca-e34f-864e-861f7616d084
Additional to the useless GLibC backtrace also try to attach GDB to the process and dump a backtrace.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1196 4a71c877-e1ca-e34f-864e-861f7616d084