string_t is a Valve-specific replacement for the C String. It doesn't do anything special; it's just an indirection to "allow more flexibility in future ports or optimization".
string_t can be one of three things depending on preprocessor set-up:
Whichever of the above is in effect, there are four macros to use:
- A constant empty string.
- Get a C string. Don't use
MAKE_STRING(const char *)
- Make a string_t.
IDENT_STRINGS( s1, s2 )
- Are these strings (of either type) pointing to the same memory?