Alibek Omarov
dbe1a2742e
public: add Q_strcmp_constant_time
2026-05-17 11:23:08 +05:00
Alibek Omarov
5d7ed9d8a7
public: add CheckNastyPath from Darkplaces's VFS so it can be used in engine for path traversal checks
2026-05-16 21:28:51 +05:00
Alibek Omarov
ec8059173d
public: explicitly cast chars to bytes in ctype functions
2026-04-28 09:50:33 +05:00
Alibek Omarov
df95baa282
public: minor refactoring, mark some more functions as returns_nonnull
2026-03-17 00:19:27 +05:00
Alibek Omarov
c19a824a42
public: add Q_memfgets, replacement for COM_MemFgets rewritten using crtlib functions. Add a test
2026-03-01 03:04:33 +05:00
Alibek Omarov
192ed942c4
public: add new features to ParseFileSafe, such as disabling interpreting certain characters as separate tokens, or instead forcing them to be separate tokens
2026-02-28 04:17:34 +05:00
Alibek Omarov
9a285986c4
public: reimplement COM_TrimSpace, add it to crtlib, add tests for it
2026-02-28 00:05:37 +05:00
Alibek Omarov
2bdc22fbeb
public: exclude build_vcs from libpublic dependencies, add it per project
2026-02-23 21:48:23 +05:00
Alibek Omarov
6bcb98e779
public: replace COM_CheckString and COM_CheckStringEmpty by COM_StringEmptyOrNULL and COM_StringEmpty. Remove legacy macros
2026-02-21 01:20:34 +05:00
Alibek Omarov
ae15886a14
public: add COM_StringEmpty and COM_StringEmptyOrNULL macros (that eventually replace less obvious COM_CheckString and COM_CheckStringEmpty)
2026-02-21 01:20:34 +05:00
Владислав Сухов
d391ef1747
public: crtlib: make COM_FixSlashes remove duplicate slashes
2026-01-30 02:25:44 +05:00
ksagameng
0976d96419
crtlib: Force use xash strchrnul implementation on ios
2026-01-05 09:37:20 +05:00
Alibek Omarov
0dfeea5213
Migrate to library-suffix library
2025-11-11 06:59:41 +05:00
Alibek Omarov
ac22de84bf
public: remove Q_buildnum generated from __DATE__ macro, as we rely only on Git now
2025-08-04 10:25:42 +05:00
Alibek Omarov
c48d93e3ce
public: use last Git commit date (committer date, to be exact) as more predictable source for build num
2025-02-07 17:51:10 +03:00
Alibek Omarov
8f257cc331
public: add parsing build date from ISO-8601 alike format
2025-02-07 17:47:23 +03:00
Alibek Omarov
f911210b81
public: simplify ctype.h is* functions wrappers for null-terminated strings, add Q_isalpha
2025-02-05 18:21:18 +03:00
Alibek Omarov
375998dffb
Cleanup xash3d_types.h from engine-specific macros and types
2025-01-22 15:10:18 +03:00
Alibek Omarov
4b1b3aa13c
public: remove Q_colorstr, as it's completely useless and checking for color string is easy actually
2025-01-18 08:29:36 +03:00
Alibek Omarov
69341e36a3
public: expose commit and branch as global variables instead of functions
2025-01-13 20:02:59 +03:00
Alibek Omarov
03eac904c1
public: make COM_FixSlashes inlined
2024-12-29 09:05:15 +03:00
Alibek Omarov
70897af362
public: add dll helpers to simplify basic interaction with exported functions lists
2024-12-23 04:43:15 +03:00
Alibek Omarov
2373743920
public: mention FSF in copyright header, as some of the libc extensions callbacks were derived from glibc [skip ci]
2024-12-17 20:41:55 +03:00
Alibek Omarov
90a3497afe
public: improve Q_strncat fallback implementation
2024-12-17 20:40:19 +03:00
Alibek Omarov
339aebb08c
public: add Q_strnlen with fallback to memchr
2024-12-17 20:03:09 +03:00
Alibek Omarov
b4afe390d6
public: slight refactoring
2024-12-17 19:57:27 +03:00
Alibek Omarov
fa272d9d93
public: add optional feature for COM_ParseFileSafe to ignore shell like hash symbol prefixed comments
2024-11-18 14:14:49 +03:00
Alibek Omarov
3691f02359
public: crtlib: make Q_strchrnul return non-const pointer, like strchr
2024-11-17 13:56:31 +03:00
Alibek Omarov
ac7617990a
public: add Q_splitstr function
2024-11-17 05:34:29 +03:00
Alibek Omarov
b51d1a4e2e
public: mark some functions as never returning nullptr
2024-11-07 16:11:40 +03:00
Alibek Omarov
d15949d2e8
Rename _format to FORMAT_CHECK
2024-11-07 14:24:07 +03:00
Alibek Omarov
422addcbb6
public: make Q_atoi_hex public, check for 0x prefix
2024-10-28 02:09:05 +03:00
Alibek Omarov
d903187eea
public: make crc value init functions inline, move hex2char/ex2string to crclib and make them private to it
2024-10-14 04:13:10 +03:00
Alibek Omarov
2ad6511c31
public: add Q_memor routine that binary OR's data from src to dst
...
Supposed to be compiled with optimizations enabled.
2024-05-29 05:41:33 +03:00
Alibek Omarov
758c908d5a
public: add buffer size parameter to COM_RemoveLineFeed
2024-05-15 03:06:57 +03:00
Alibek Omarov
b78e9961c6
public: fix build on Windows
...
stristr doesn't exist actually
2024-05-03 15:30:42 +03:00
Alibek Omarov
af23b0c67b
public: crtlib: refactoring with new macros, use system strlcpy/strlcat if possible
2024-04-30 02:20:14 +03:00
Alibek Omarov
7ccb0b5c02
public: make simple ctype functions inlined
2024-04-28 06:59:18 +03:00
SNMetamorph
908a9930e6
public: added Q_buildbranch function, needed for better logging
2024-03-19 19:31:54 +03:00
Alibek Omarov
aee5e46516
public: rewrite Q_strncpy with standard C functions, make it inlined to allow compiler remove unneeded checks
...
So far, passes all tests.
2023-06-27 17:30:09 +03:00
Alibek Omarov
ff436ae100
public: crtlib: add safe COM_DefaultExtension and COM_ReplaceExtension
2023-04-26 05:20:45 +03:00
Alibek Omarov
ac39090f6e
public: crtlib: add safe COM_FileBase implementation
2023-04-26 05:20:45 +03:00
Alibek Omarov
b16fa8eddc
public: remove Q_strcat and Q_strcpy, and patch the code that uses it
2023-04-26 05:20:45 +03:00
Alibek Omarov
b333edeefe
public: crtlib: remove unused Q_strlwr macro
2023-04-23 18:31:08 +03:00
Alibek Omarov
096ee34f67
public: remove Q_vsprintf, replace by proper Q_vsnprintf proper calls
...
Fixes weird off by one error caused by glibc updates? I didn't tracked
what causes it exactly but replacing it seems to work. Anyway, we should
remove all 99999 hacks in libpublic.
2023-04-23 18:19:28 +03:00
Alibek Omarov
e4a5b95e81
public: build: split Q_buildnum to separate function that calculates build number from arbitrary date string
2023-04-17 19:10:40 +03:00
Alibek Omarov
37e3cf7e86
public: crtlib: remove unused functions
2023-04-03 02:46:23 +03:00
Alibek Omarov
fb6e310eab
public: move va() function back to engine, it's not recommended to use in shared modules
2023-03-13 02:44:59 +03:00
Alibek Omarov
5d98e13fb8
public: add Q_ArcitectureStringByID function to get library naming compliant CPU and ABI string
2023-01-09 22:53:05 +03:00
Alibek Omarov
1dc3cc2d57
public: add Q_PlatformStringByID function that returns library naming compliant string by platform identifier from buildenums
2023-01-09 08:06:58 +03:00