ref: de175686e6831c7aeff6cad874de873dbc1d15a6
parent: 1db716fa176d6b611083feb61f8396d73f56a04a
parent: c72143846b0d04d9e966e96357dac30fcce03921
author: Mike Swanson <mikeonthecomputer@gmail.com>
date: Fri Mar 16 18:00:18 EDT 2018
Merge pull request #999 from turol/const Improve const correctness
--- a/src/deh_str.c
+++ b/src/deh_str.c
@@ -38,9 +38,9 @@
// This is the algorithm used by glib
-static unsigned int strhash(char *s)
+static unsigned int strhash(const char *s)
{
- char *p = s;
+ const char *p = s;
unsigned int h = *p;
if (h)
@@ -52,7 +52,7 @@
return h;
}
-static deh_substitution_t *SubstitutionForString(char *s)
+static deh_substitution_t *SubstitutionForString(const char *s)
{
int entry;
@@ -165,7 +165,7 @@
++hash_table_entries;
}
-void DEH_AddStringReplacement(char *from_text, char *to_text)
+void DEH_AddStringReplacement(const char *from_text, const char *to_text)
{
deh_substitution_t *sub;
size_t len;
@@ -251,7 +251,7 @@
// Given the specified string, get the type of the first format
// string encountered.
-static format_arg_t NextFormatArgument(char **str)
+static format_arg_t NextFormatArgument(const char **str)
{
format_arg_t argtype;
@@ -326,10 +326,10 @@
// Return true if the specified string contains no format arguments.
-static boolean ValidFormatReplacement(char *original, char *replacement)
+static boolean ValidFormatReplacement(const char *original, const char *replacement)
{
- char *rover1;
- char *rover2;
+ const char *rover1;
+ const char *rover2;
int argtype1, argtype2;
// Check each argument in turn and compare types.
--- a/src/deh_str.h
+++ b/src/deh_str.h
@@ -28,7 +28,7 @@
void DEH_printf(char *fmt, ...) PRINTF_ATTR(1, 2);
void DEH_fprintf(FILE *fstream, char *fmt, ...) PRINTF_ATTR(2, 3);
void DEH_snprintf(char *buffer, size_t len, char *fmt, ...) PRINTF_ATTR(3, 4);
-void DEH_AddStringReplacement(char *from_text, char *to_text);
+void DEH_AddStringReplacement(const char *from_text, const char *to_text);
#if 0
--- a/src/doom/hu_lib.c
+++ b/src/doom/hu_lib.c
@@ -208,8 +208,8 @@
void
HUlib_addMessageToSText
( hu_stext_t* s,
- char* prefix,
- char* msg )
+ const char* prefix,
+ const char* msg )
{
HUlib_addLineToSText(s);
if (prefix)
--- a/src/doom/hu_lib.h
+++ b/src/doom/hu_lib.h
@@ -134,8 +134,8 @@
void
HUlib_addMessageToSText
( hu_stext_t* s,
- char* prefix,
- char* msg );
+ const char* prefix,
+ const char* msg );
// draws stext
void HUlib_drawSText(hu_stext_t* s);
--- a/src/i_system.c
+++ b/src/i_system.c
@@ -158,7 +158,7 @@
return zonemem;
}
-void I_PrintBanner(char *msg)
+void I_PrintBanner(const char *msg)
{
int i;
int spaces = 35 - (strlen(msg) / 2);
@@ -181,7 +181,7 @@
putchar('\n');
}
-void I_PrintStartupBanner(char *gamedescription)
+void I_PrintStartupBanner(const char *gamedescription)
{
I_PrintDivider();
I_PrintBanner(gamedescription);
@@ -261,7 +261,7 @@
static boolean already_quitting = false;
-void I_Error (char *error, ...)
+void I_Error (const char *error, ...)
{
char msgbuf[512];
va_list argptr;
--- a/src/i_system.h
+++ b/src/i_system.h
@@ -52,7 +52,7 @@
// Clean exit, displays sell blurb.
void I_Quit (void);
-void I_Error (char *error, ...) PRINTF_ATTR(1, 2);
+void I_Error (const char *error, ...) PRINTF_ATTR(1, 2);
void I_Tactile (int on, int off, int total);
@@ -72,11 +72,11 @@
// Print startup banner copyright message.
-void I_PrintStartupBanner(char *gamedescription);
+void I_PrintStartupBanner(const char *gamedescription);
// Print a centered text banner displaying the given string.
-void I_PrintBanner(char *text);
+void I_PrintBanner(const char *text);
// Print a dividing line for startup banners.
--- a/src/m_misc.c
+++ b/src/m_misc.c
@@ -52,7 +52,7 @@
// Create a directory
//
-void M_MakeDirectory(char *path)
+void M_MakeDirectory(const char *path)
{
#ifdef _WIN32
mkdir(path);
@@ -63,7 +63,7 @@
// Check if a file exists
-boolean M_FileExists(char *filename)
+boolean M_FileExists(const char *filename)
{
FILE *fstream;
@@ -86,7 +86,7 @@
// Check if a file exists by probing for common case variation of its filename.
// Returns a newly allocated string that the caller is responsible for freeing.
-char *M_FileCaseExists(char *path)
+char *M_FileCaseExists(const char *path)
{
char *path_dup, *filename, *ext;
@@ -178,7 +178,7 @@
// M_WriteFile
//
-boolean M_WriteFile(char *name, void *source, int length)
+boolean M_WriteFile(const char *name, void *source, int length)
{
FILE *handle;
int count;
@@ -202,7 +202,7 @@
// M_ReadFile
//
-int M_ReadFile(char *name, byte **buffer)
+int M_ReadFile(const char *name, byte **buffer)
{
FILE *handle;
int count, length;
@@ -233,7 +233,7 @@
//
// The returned value must be freed with Z_Free after use.
-char *M_TempFile(char *s)
+char *M_TempFile(const char *s)
{
char *tempdir;
@@ -264,10 +264,10 @@
|| sscanf(str, " %d", result) == 1;
}
-void M_ExtractFileBase(char *path, char *dest)
+void M_ExtractFileBase(const char *path, char *dest)
{
- char *src;
- char *filename;
+ const char *src;
+ const char *filename;
int length;
src = path + strlen(path) - 1;
@@ -343,7 +343,7 @@
// Case-insensitive version of strstr()
//
-char *M_StrCaseStr(char *haystack, char *needle)
+const char *M_StrCaseStr(const char *haystack, const char *needle)
{
unsigned int haystack_len;
unsigned int needle_len;
--- a/src/m_misc.h
+++ b/src/m_misc.h
@@ -25,18 +25,18 @@
#include "doomtype.h"
-boolean M_WriteFile(char *name, void *source, int length);
-int M_ReadFile(char *name, byte **buffer);
-void M_MakeDirectory(char *dir);
-char *M_TempFile(char *s);
-boolean M_FileExists(char *file);
-char *M_FileCaseExists(char *file);
+boolean M_WriteFile(const char *name, void *source, int length);
+int M_ReadFile(const char *name, byte **buffer);
+void M_MakeDirectory(const char *dir);
+char *M_TempFile(const char *s);
+boolean M_FileExists(const char *file);
+char *M_FileCaseExists(const char *file);
long M_FileLength(FILE *handle);
boolean M_StrToInt(const char *str, int *result);
-void M_ExtractFileBase(char *path, char *dest);
+void M_ExtractFileBase(const char *path, char *dest);
void M_ForceUppercase(char *text);
void M_ForceLowercase(char *text);
-char *M_StrCaseStr(char *haystack, char *needle);
+const char *M_StrCaseStr(const char *haystack, const char *needle);
char *M_StringDuplicate(const char *orig);
boolean M_StringCopy(char *dest, const char *src, size_t dest_size);
boolean M_StringConcat(char *dest, const char *src, size_t dest_size);
--- a/src/w_wad.c
+++ b/src/w_wad.c
@@ -258,7 +258,7 @@
// Returns -1 if name not found.
//
-lumpindex_t W_CheckNumForName(char* name)
+lumpindex_t W_CheckNumForName(const char *name)
{
lumpindex_t i;
@@ -307,7 +307,7 @@
// W_GetNumForName
// Calls W_CheckNumForName, but bombs out if not found.
//
-lumpindex_t W_GetNumForName(char* name)
+lumpindex_t W_GetNumForName(const char *name)
{
lumpindex_t i;
@@ -428,7 +428,7 @@
//
// W_CacheLumpName
//
-void *W_CacheLumpName(char *name, int tag)
+void *W_CacheLumpName(const char *name, int tag)
{
return W_CacheLumpNum(W_GetNumForName(name), tag);
}
@@ -464,7 +464,7 @@
}
}
-void W_ReleaseLumpName(char *name)
+void W_ReleaseLumpName(const char *name)
{
W_ReleaseLumpNum(W_GetNumForName(name));
}
--- a/src/w_wad.h
+++ b/src/w_wad.h
@@ -56,14 +56,14 @@
wad_file_t *W_AddFile(char *filename);
void W_Reload(void);
-lumpindex_t W_CheckNumForName(char *name);
-lumpindex_t W_GetNumForName(char *name);
+lumpindex_t W_CheckNumForName(const char *name);
+lumpindex_t W_GetNumForName(const char *name);
int W_LumpLength(lumpindex_t lump);
void W_ReadLump(lumpindex_t lump, void *dest);
void *W_CacheLumpNum(lumpindex_t lump, int tag);
-void *W_CacheLumpName(char *name, int tag);
+void *W_CacheLumpName(const char *name, int tag);
void W_GenerateHashTable(void);
@@ -70,6 +70,6 @@
extern unsigned int W_LumpNameHash(const char *s);
void W_ReleaseLumpNum(lumpindex_t lump);
-void W_ReleaseLumpName(char *name);
+void W_ReleaseLumpName(const char *name);
#endif
--- a/src/z_native.c
+++ b/src/z_native.c
@@ -442,7 +442,7 @@
// Z_ChangeTag
//
-void Z_ChangeTag2(void *ptr, int tag, char *file, int line)
+void Z_ChangeTag2(void *ptr, int tag, const char *file, int line)
{
memblock_t* block;
--- a/src/z_zone.c
+++ b/src/z_zone.c
@@ -490,7 +490,7 @@
//
// Z_ChangeTag
//
-void Z_ChangeTag2(void *ptr, int tag, char *file, int line)
+void Z_ChangeTag2(void *ptr, int tag, const char *file, int line)
{
memblock_t* block;
--- a/src/z_zone.h
+++ b/src/z_zone.h
@@ -57,7 +57,7 @@
void Z_DumpHeap (int lowtag, int hightag);
void Z_FileDumpHeap (FILE *f);
void Z_CheckHeap (void);
-void Z_ChangeTag2 (void *ptr, int tag, char *file, int line);
+void Z_ChangeTag2 (void *ptr, int tag, const char *file, int line);
void Z_ChangeUser(void *ptr, void **user);
int Z_FreeMemory (void);
unsigned int Z_ZoneSize(void);
--- a/textscreen/txt_button.c
+++ b/textscreen/txt_button.c
@@ -93,13 +93,13 @@
NULL,
};
-void TXT_SetButtonLabel(txt_button_t *button, char *label)
+void TXT_SetButtonLabel(txt_button_t *button, const char *label)
{
free(button->label);
button->label = strdup(label);
}
-txt_button_t *TXT_NewButton(char *label)
+txt_button_t *TXT_NewButton(const char *label)
{
txt_button_t *button;
@@ -113,7 +113,7 @@
// Button with a callback set automatically
-txt_button_t *TXT_NewButton2(char *label, TxtWidgetSignalFunc func,
+txt_button_t *TXT_NewButton2(const char *label, TxtWidgetSignalFunc func,
void *user_data)
{
txt_button_t *button;
--- a/textscreen/txt_button.h
+++ b/textscreen/txt_button.h
@@ -45,7 +45,7 @@
* @return Pointer to the new button widget.
*/
-txt_button_t *TXT_NewButton(char *label);
+txt_button_t *TXT_NewButton(const char *label);
/**
* Create a new button widget, binding the "pressed" signal to a
@@ -57,7 +57,7 @@
* @return Pointer to the new button widget.
*/
-txt_button_t *TXT_NewButton2(char *label, TxtWidgetSignalFunc func,
+txt_button_t *TXT_NewButton2(const char *label, TxtWidgetSignalFunc func,
void *user_data);
/**
@@ -67,7 +67,7 @@
* @param label The new label (UTF-8 format).
*/
-void TXT_SetButtonLabel(txt_button_t *button, char *label);
+void TXT_SetButtonLabel(txt_button_t *button, const char *label);
#endif /* #ifndef TXT_BUTTON_H */
--- a/textscreen/txt_checkbox.c
+++ b/textscreen/txt_checkbox.c
@@ -116,7 +116,7 @@
NULL,
};
-txt_checkbox_t *TXT_NewCheckBox(char *label, int *variable)
+txt_checkbox_t *TXT_NewCheckBox(const char *label, int *variable)
{
txt_checkbox_t *checkbox;
@@ -130,7 +130,7 @@
return checkbox;
}
-txt_checkbox_t *TXT_NewInvertedCheckBox(char *label, int *variable)
+txt_checkbox_t *TXT_NewInvertedCheckBox(const char *label, int *variable)
{
txt_checkbox_t *result;
--- a/textscreen/txt_checkbox.h
+++ b/textscreen/txt_checkbox.h
@@ -55,7 +55,7 @@
* @return Pointer to the new checkbox.
*/
-txt_checkbox_t *TXT_NewCheckBox(char *label, int *variable);
+txt_checkbox_t *TXT_NewCheckBox(const char *label, int *variable);
/**
* Create a new inverted checkbox.
@@ -69,7 +69,7 @@
* @return Pointer to the new checkbox.
*/
-txt_checkbox_t *TXT_NewInvertedCheckBox(char *label, int *variable);
+txt_checkbox_t *TXT_NewInvertedCheckBox(const char *label, int *variable);
#endif /* #ifndef TXT_CHECKBOX_H */
--- a/textscreen/txt_desktop.c
+++ b/textscreen/txt_desktop.c
@@ -220,7 +220,7 @@
TXT_DrawString("=Help ");
}
-void TXT_SetDesktopTitle(char *title)
+void TXT_SetDesktopTitle(const char *title)
{
free(desktop_title);
desktop_title = strdup(title);
--- a/textscreen/txt_desktop.h
+++ b/textscreen/txt_desktop.h
@@ -39,7 +39,7 @@
* @param title The title to display (UTF-8 format).
*/
-void TXT_SetDesktopTitle(char *title);
+void TXT_SetDesktopTitle(const char *title);
/**
* Exit the currently-running main loop and return from the
--- a/textscreen/txt_fileselect.c
+++ b/textscreen/txt_fileselect.c
@@ -517,7 +517,7 @@
// return a pointer to a string that is a case-insensitive
// pattern representation (like [Ww][Aa][Dd])
//
-static char *ExpandExtension(char *orig)
+static char *ExpandExtension(const char *orig)
{
int oldlen, newlen, i;
char *c, *newext = NULL;
@@ -550,7 +550,7 @@
return newext;
}
-char *TXT_SelectFile(char *window_title, char **extensions)
+char *TXT_SelectFile(const char *window_title, char **extensions)
{
unsigned int i;
size_t len;
--- a/textscreen/txt_fileselect.h
+++ b/textscreen/txt_fileselect.h
@@ -50,7 +50,7 @@
* to select directories.
*/
-char *TXT_SelectFile(char *prompt, char **extensions);
+char *TXT_SelectFile(const char *prompt, char **extensions);
/**
* Create a new txt_fileselect_t widget.
--- a/textscreen/txt_label.c
+++ b/textscreen/txt_label.c
@@ -113,7 +113,7 @@
NULL,
};
-void TXT_SetLabel(txt_label_t *label, char *value)
+void TXT_SetLabel(txt_label_t *label, const char *value)
{
char *p;
unsigned int y;
@@ -131,7 +131,7 @@
label->h = 1;
- for (p = value; *p != '\0'; ++p)
+ for (p = label->label; *p != '\0'; ++p)
{
if (*p == '\n')
{
@@ -168,7 +168,7 @@
}
}
-txt_label_t *TXT_NewLabel(char *text)
+txt_label_t *TXT_NewLabel(const char *text)
{
txt_label_t *label;
--- a/textscreen/txt_label.h
+++ b/textscreen/txt_label.h
@@ -49,7 +49,7 @@
* @return Pointer to the new label widget.
*/
-txt_label_t *TXT_NewLabel(char *label);
+txt_label_t *TXT_NewLabel(const char *label);
/**
* Set the string displayed in a label widget.
@@ -58,7 +58,7 @@
* @param value The string to display (UTF-8 format).
*/
-void TXT_SetLabel(txt_label_t *label, char *value);
+void TXT_SetLabel(txt_label_t *label, const char *value);
/**
* Set the background color of a label widget.
--- a/textscreen/txt_main.h
+++ b/textscreen/txt_main.h
@@ -180,7 +180,7 @@
void TXT_SetInputMode(txt_input_mode_t mode);
// Set the window title of the window containing the text mode screen
-void TXT_SetWindowTitle(char *title);
+void TXT_SetWindowTitle(const char *title);
// Safe string copy.
void TXT_StringCopy(char *dest, const char *src, size_t dest_len);
--- a/textscreen/txt_radiobutton.c
+++ b/textscreen/txt_radiobutton.c
@@ -121,7 +121,7 @@
NULL,
};
-txt_radiobutton_t *TXT_NewRadioButton(char *label, int *variable, int value)
+txt_radiobutton_t *TXT_NewRadioButton(const char *label, int *variable, int value)
{
txt_radiobutton_t *radiobutton;
@@ -135,7 +135,7 @@
return radiobutton;
}
-void TXT_SetRadioButtonLabel(txt_radiobutton_t *radiobutton, char *value)
+void TXT_SetRadioButtonLabel(txt_radiobutton_t *radiobutton, const char *value)
{
free(radiobutton->label);
radiobutton->label = strdup(value);
--- a/textscreen/txt_radiobutton.h
+++ b/textscreen/txt_radiobutton.h
@@ -63,7 +63,7 @@
* @return Pointer to the new radio button widget.
*/
-txt_radiobutton_t *TXT_NewRadioButton(char *label, int *variable, int value);
+txt_radiobutton_t *TXT_NewRadioButton(const char *label, int *variable, int value);
/**
* Set the label on a radio button.
@@ -72,7 +72,7 @@
* @param value The new label (UTF-8 format).
*/
-void TXT_SetRadioButtonLabel(txt_radiobutton_t *radiobutton, char *value);
+void TXT_SetRadioButtonLabel(txt_radiobutton_t *radiobutton, const char *value);
#endif /* #ifndef TXT_RADIOBUTTON_H */
--- a/textscreen/txt_sdl.c
+++ b/textscreen/txt_sdl.c
@@ -34,7 +34,7 @@
typedef struct
{
- char *name;
+ const char *name;
const uint8_t *data;
unsigned int w;
unsigned int h;
@@ -133,7 +133,7 @@
#endif
-static const txt_font_t *FontForName(char *name)
+static const txt_font_t *FontForName(const char *name)
{
int i;
const txt_font_t *fonts[] =
@@ -518,7 +518,7 @@
}
}
-static int TranslateKeysym(SDL_Keysym *sym)
+static int TranslateKeysym(const SDL_Keysym *sym)
{
int translated;
@@ -558,7 +558,7 @@
// Convert an SDL wheel motion to a textscreen button index.
-static int SDLWheelToTXTButton(SDL_MouseWheelEvent *wheel)
+static int SDLWheelToTXTButton(const SDL_MouseWheelEvent *wheel)
{
if (wheel->y <= 0)
{
@@ -890,7 +890,7 @@
input_mode = mode;
}
-void TXT_SetWindowTitle(char *title)
+void TXT_SetWindowTitle(const char *title)
{
SDL_SetWindowTitle(TXT_SDLWindow, title);
}
--- a/textscreen/txt_separator.c
+++ b/textscreen/txt_separator.c
@@ -73,7 +73,7 @@
free(separator->label);
}
-void TXT_SetSeparatorLabel(txt_separator_t *separator, char *label)
+void TXT_SetSeparatorLabel(txt_separator_t *separator, const char *label)
{
free(separator->label);
@@ -98,7 +98,7 @@
NULL,
};
-txt_separator_t *TXT_NewSeparator(char *label)
+txt_separator_t *TXT_NewSeparator(const char *label)
{
txt_separator_t *separator;
--- a/textscreen/txt_separator.h
+++ b/textscreen/txt_separator.h
@@ -50,7 +50,7 @@
* @return The new separator widget.
*/
-txt_separator_t *TXT_NewSeparator(char *label);
+txt_separator_t *TXT_NewSeparator(const char *label);
/**
* Change the label on a separator.
@@ -59,7 +59,7 @@
* @param label The new label (UTF-8 format).
*/
-void TXT_SetSeparatorLabel(txt_separator_t *separator, char *label);
+void TXT_SetSeparatorLabel(txt_separator_t *separator, const char *label);
#endif /* #ifndef TXT_SEPARATOR_H */
--- a/textscreen/txt_window.c
+++ b/textscreen/txt_window.c
@@ -52,7 +52,7 @@
}
}
-txt_window_t *TXT_NewWindow(char *title)
+txt_window_t *TXT_NewWindow(const char *title)
{
int i;
@@ -508,7 +508,7 @@
TXT_SetWidgetFocus(window, focused);
}
-void TXT_SetWindowHelpURL(txt_window_t *window, char *help_url)
+void TXT_SetWindowHelpURL(txt_window_t *window, const char *help_url)
{
window->help_url = help_url;
}
@@ -515,7 +515,7 @@
#ifdef _WIN32
-void TXT_OpenURL(char *url)
+void TXT_OpenURL(const char *url)
{
ShellExecute(NULL, "open", url, NULL, NULL, SW_SHOWNORMAL);
}
@@ -522,7 +522,7 @@
#else
-void TXT_OpenURL(char *url)
+void TXT_OpenURL(const char *url)
{
char *cmd;
size_t cmd_len;
@@ -566,7 +566,7 @@
}
}
-txt_window_t *TXT_MessageBox(char *title, char *message, ...)
+txt_window_t *TXT_MessageBox(const char *title, const char *message, ...)
{
txt_window_t *window;
char buf[256];
--- a/textscreen/txt_window.h
+++ b/textscreen/txt_window.h
@@ -88,7 +88,7 @@
// URL of a webpage with help about this window. If set, a help key
// indicator is shown while this window is active.
- char *help_url;
+ const char *help_url;
};
/**
@@ -100,7 +100,7 @@
* representing the new window.
*/
-txt_window_t *TXT_NewWindow(char *title);
+txt_window_t *TXT_NewWindow(const char *title);
/**
* Close a window.
@@ -197,7 +197,7 @@
* @return The new window.
*/
-txt_window_t *TXT_MessageBox(char *title, char *message, ...);
+txt_window_t *TXT_MessageBox(const char *title, const char *message, ...);
/**
* Set the help URL for the given window.
@@ -207,7 +207,7 @@
* window, or NULL to set no help for this window.
*/
-void TXT_SetWindowHelpURL(txt_window_t *window, char *help_url);
+void TXT_SetWindowHelpURL(txt_window_t *window, const char *help_url);
/**
* Open the help URL for the given window, if one is set.