2005-04-16 21:59:26 +02:00
|
|
|
/* ======== SourceMM ========
|
2007-02-10 01:31:34 +01:00
|
|
|
* Copyright (C) 2004-2007 Metamod:Source Development Team
|
|
|
|
* No warranties of any kind
|
|
|
|
*
|
|
|
|
* License: zlib/libpng
|
|
|
|
*
|
|
|
|
* Author(s): David "BAILOPAN" Anderson
|
|
|
|
* ============================
|
|
|
|
*/
|
2005-04-16 21:59:26 +02:00
|
|
|
|
|
|
|
#ifndef _INCLUDE_UTIL_H
|
|
|
|
#define _INCLUDE_UTIL_H
|
|
|
|
|
2007-03-21 18:45:28 +01:00
|
|
|
#include <stdarg.h>
|
|
|
|
|
2005-04-16 21:59:26 +02:00
|
|
|
/**
|
2007-03-21 18:45:28 +01:00
|
|
|
* @brief Utility functions
|
2005-04-16 21:59:26 +02:00
|
|
|
* @file util.h
|
|
|
|
*/
|
|
|
|
|
2007-03-21 18:45:28 +01:00
|
|
|
/**
|
|
|
|
* @brief Returns a pointer to the extension in a file name.
|
|
|
|
*/
|
2005-04-16 21:59:26 +02:00
|
|
|
const char *UTIL_GetExtension(const char *file);
|
2007-03-21 18:45:28 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Removes C-style comments from string.
|
|
|
|
*/
|
2005-10-06 02:59:01 +02:00
|
|
|
void UTIL_TrimComments(char *buffer);
|
2007-03-21 18:45:28 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Removes whitespace characters from left side of string.
|
|
|
|
*/
|
2005-07-03 18:11:28 +02:00
|
|
|
void UTIL_TrimLeft(char *buffer);
|
2007-03-21 18:45:28 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Removes whitespace characters from right side of string.
|
|
|
|
*/
|
2005-07-03 18:11:28 +02:00
|
|
|
void UTIL_TrimRight(char *buffer);
|
2007-03-21 18:45:28 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Breaks a string at the first space until it reaches a non-space.
|
|
|
|
*/
|
2005-10-06 02:59:01 +02:00
|
|
|
void UTIL_KeySplit(const char *str, char *buf1, size_t len1, char *buf2, size_t len2);
|
2007-03-21 18:45:28 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Compares two file paths.
|
|
|
|
*/
|
2005-10-06 02:59:01 +02:00
|
|
|
bool UTIL_PathCmp(const char *path1, const char *path2);
|
2005-04-16 21:59:26 +02:00
|
|
|
|
2007-03-21 18:45:28 +01:00
|
|
|
/**
|
|
|
|
* @brief Same as snprintf except that it ensures the string buffer is null terminated.
|
|
|
|
*/
|
|
|
|
size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Same as vsnprintf except that it ensures the string buffer is null terminated.
|
|
|
|
*/
|
|
|
|
inline size_t UTIL_FormatArgs(char *buffer, size_t maxlength, const char *fmt, va_list params)
|
|
|
|
{
|
|
|
|
size_t len = vsnprintf(buffer, maxlength, fmt, params);
|
|
|
|
|
|
|
|
if (len >= maxlength)
|
|
|
|
{
|
|
|
|
len = maxlength - 1;
|
|
|
|
buffer[len] = '\0';
|
|
|
|
}
|
|
|
|
|
|
|
|
return len;
|
|
|
|
}
|
|
|
|
|
2005-04-16 21:59:26 +02:00
|
|
|
#endif //_INCLUDE_UTIL_H
|