X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=common.h;h=47e62f937a8eca73b7915194e4307d6536be9294;hb=4961d09f5d00c8e40cc16e3bfb0db0de25d96abd;hp=485d3eb60de90a2b524da0f39855737929030950;hpb=1b445d99b7ccfd877ffba3405e401419da49d727;p=xonotic%2Fdarkplaces.git diff --git a/common.h b/common.h index 485d3eb6..47e62f93 100644 --- a/common.h +++ b/common.h @@ -84,8 +84,9 @@ void Com_BlockFullChecksum (void *buffer, int len, unsigned char *outbuf); #endif // If we still don't know the CPU endianess at this point, we try to guess +// normally including sys/types.h includes endian.h for the platform, which defines BYTE_ORDER, LITTLE_ENDIAN, and BIG_ENDIAN, however endian.h is a BSD-ism, and may not be present on all platforms (particularly windows) #ifndef BYTE_ORDER -# if defined(WIN32) +# if defined(WIN32) || defined (__i386) || defined(__amd64) # define BYTE_ORDER LITTLE_ENDIAN # else # if defined(SUNOS) @@ -201,8 +202,10 @@ float MSG_ReadAngle (protocolversion_t protocol); extern char com_token[MAX_INPUTLINE]; -int COM_ParseToken(const char **datapointer, int returnnewline); -int COM_ParseTokenConsole(const char **datapointer); +int COM_ParseToken_Simple(const char **datapointer, int returnnewline); +int COM_ParseToken_QuakeC(const char **datapointer, int returnnewline); +int COM_ParseToken_VM_Tokenize(const char **datapointer, int returnnewline); +int COM_ParseToken_Console(const char **datapointer); extern int com_argc; extern const char **com_argv; @@ -212,7 +215,7 @@ void COM_Init (void); void COM_Shutdown (void); void COM_InitGameType (void); -char *va(const char *format, ...); +char *va(const char *format, ...) DP_FUNC_PRINTF(1); // does a varargs printf into a temp buffer @@ -224,7 +227,7 @@ char *va(const char *format, ...); // return the number of printed characters, excluding the final '\0' // or return -1 if the buffer isn't big enough to contain the entire string. // buffer is ALWAYS null-terminated -extern int dpsnprintf (char *buffer, size_t buffersize, const char *format, ...); +extern int dpsnprintf (char *buffer, size_t buffersize, const char *format, ...) DP_FUNC_PRINTF(3); extern int dpvsnprintf (char *buffer, size_t buffersize, const char *format, va_list args); // A bunch of functions are forbidden for security reasons (and also to please MSVS 2005, for some of them) @@ -286,18 +289,25 @@ int COM_StringBeginsWith(const char *s, const char *match); int COM_ReadAndTokenizeLine(const char **text, char **argv, int maxargc, char *tokenbuf, int tokenbufsize, const char *commentprefix); +size_t COM_StringLengthNoColors(const char *s, size_t size_s, qboolean *valid); +qboolean COM_StringDecolorize(const char *in, size_t size_in, char *out, size_t size_out, qboolean escape_carets); +void COM_ToLowerString (const char *in, char *out, size_t size_out); +void COM_ToUpperString (const char *in, char *out, size_t size_out); + typedef struct stringlist_s { - struct stringlist_s *next; - char *text; + // maxstrings changes as needed, causing reallocation of strings[] array + int maxstrings; + int numstrings; + char **strings; } stringlist_t; int matchpattern(const char *in, const char *pattern, int caseinsensitive); -stringlist_t *stringlistappend(stringlist_t *current, char *text); -void stringlistfree(stringlist_t *current); -stringlist_t *stringlistsort(stringlist_t *start); -stringlist_t *listdirectory(const char *path); -void freedirectory(stringlist_t *list); +void stringlistinit(stringlist_t *list); +void stringlistfreecontents(stringlist_t *list); +void stringlistappend(stringlist_t *list, char *text); +void stringlistsort(stringlist_t *list); +void listdirectory(stringlist_t *list, const char *path); char *SearchInfostring(const char *infostring, const char *key);