Age | Commit message (Collapse) | Author |
|
M_StringCopy() must always be provided a buffer of at least one
character long, so that a NUL character can be written. If this is
not the case, return immediately and indicate that the buffer was
truncated.
|
|
The src string may be unterminated and the call to strncpy() be
terminated by reaching dest_size. Instead of calling strlen() on the
src string, check if it has a NUL byte at the same position as the
dest string -- if not, the string was truncated.
Valgrind now gives thumbs up!
|
|
strdup() can theoretically fail and return NULL. This could lead to
a crash or undesirable behavior. Add M_StringDuplicate() which does
the same thing but exits with an error if a string cannot be
allocated.
This fixes #456. Thanks to Quasar for the suggestion.
|
|
fixes #428
|
|
This change rewrites and simplifies the copyright headers at the top
of all source files:
* Remove "Emacs style mode select" line; this line was included in
the headers for the originally released source files and appears
to be to set the file type for old versions of Emacs. I'm not sure
entirely why it was required but I don't think it is any more.
* Remove "You should have received a copy of..." text from copyright
header. This refers to the old 59 Temple Place address where the
FSF headquarters used to be located and is no longer correct.
Rather than change to the new address, just remove the paragraph
as it is superfluous anyway. This fixes #311.
* Remove ---- separator lines so that the file headers are barer
and more simplified.
|
|
An off-by-one error in the function caused the strings to be truncated
one character too early. Change the return value check so that
negative values are also interpreted as indicating truncation; this is
the behavior of the Win32 API.
|
|
Properly handle cases where a very small string buffer is specified.
|
|
The Windows API has an _snprintf function that is not the same as
Unix's snprintf(): if the string is truncated then no trailing NUL
character is appended. This makes the function unsafe. Define a
replacement/wrapper called M_snprintf that works the same but always
appends a trailing NUL, for safety on Windows and other OSes that
behave like this.
Do the same thing for vsnprintf(), and update HACKING to list
snprintf/vsnprintf as forbidden functions. This fixes #375;
thanks to Quasar for pointing out the different behavior of these
functions.
|
|
As part of this, add DIR_SEPARATOR_S as a string version of the
DIR_SEPARATOR macro. Change M_TempFile() to return a string allocated
on the C heap rather than the zone heap.
This is a first step towards fixing #371.
|
|
Where a pointer is to a buffer that does not need to be mutable for
the operation of the function, use const char * instead. This avoids
some type errors where constant string are passed.
|
|
Just as M_StringCopy behaves the same as strlcpy(), M_StringConcat
behaves the same as strlcat(). Use this in one location.
|
|
It's more readable to write "M_StringEndsWith(..." than doing a bunch of
pointer arithmetic, and this is a common pattern. Also add
M_StringStartsWith, M_StringJoin and M_StringCopy. The latter is a
safe alternative for strcpy() that works the same as OpenBSD's
strlcpy(). Use these functions in a few places where it makes sense.
|
|
being configured, not just always "Chocolate Doom".
Subversion-branch: /branches/v2-branch
Subversion-revision: 2669
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2537
|
|
codepage to UTF-8 encoding. This should fix the case where the user has
a username that includes non-ASCII characters (thanks Alexandre Xavier).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 2495
|
|
Subversion-branch: /branches/raven-branch
Subversion-revision: 2347
|
|
strlen(haystack) < strlen(needle)
Subversion-branch: /branches/raven-branch
Subversion-revision: 1906
|
|
strstr() in dehacked code to determine when to map frame numbers.
Subversion-branch: /branches/raven-branch
Subversion-revision: 1861
|
|
Subversion-branch: /branches/raven-branch
Subversion-revision: 1737
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1720
|
|
Subversion-branch: /branches/raven-branch
Subversion-revision: 1398
|
|
Subversion-branch: /branches/raven-branch
Subversion-revision: 1375
|
|
Heretic and Hexen use WAD path lookup.
Subversion-branch: /branches/raven-branch
Subversion-revision: 1368
|
|
common->doom header dependencies.
Subversion-branch: /branches/raven-branch
Subversion-revision: 1211
|
|
common code and remove dependencies on deh_main.h.
Subversion-branch: /branches/raven-branch
Subversion-revision: 1210
|
|
level.
Subversion-branch: /branches/raven-branch
Subversion-revision: 1204
|
|
screenshot code into v_video.c Add M_FileLength common function for
finding the length of an open file.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1102
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1095
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1092
|
|
file. Generate documentation for the default.cfg and chocolate-doom.cfg
configuration files.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1091
|
|
tables. Add documentation for each value (for autogenerating
documentation).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1090
|
|
David Flater for this patch).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1076
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1015
|
|
The previous system was built around the program choosing a screen mode
from the user's settings, this is based around choosing settings from
the specified screen mode.
As such, the old screenmultiply config variable is now gone. Also,
aspect ratio correction is now on by default.
Add new aspect ratio correction functions for horizontal squashing (as a
complement to the existing vertical stretching).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1005
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 986
|
|
documentation for -nosound, -nomusic, -nosfx. Fix up some bugs with the
docgen wikitext output and allow control over output of Vanilla options.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 984
|
|
fixes architectures where structure fields are aligned differently to
optimise reads, causing the game to crash.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 960
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 949
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 944
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 935
|
|
sizeof(*array)
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 922
|
|
that are available through the keyboard. Justification: this is already
possible through advanced mouse drivers and programs like js2x, so there
might as well be a proper interface for it.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 918
|
|
(snd_samplerate)
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 906
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 887
|
|
chat when vanilla_keyboard_mapping is enabled.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 861
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 860
|
|
to i_swap.h.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 857
|
|
Vanilla Doom.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 853
|
|
explicitly specified.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 838
|
|
update codeblocks projects (which is a new format, latest cb svn build
is needed)
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 822
|