(svn r13715) -Fix [FS#2129]: C-like strings had to be rebound each time they were printed, otherwise the text could change due to the few number of slots that could be used to bind.

-Codechange: remove all BindCString and related functions and replace it by RAW_STRING which prints the C-string raw pointer that is on the 'print stack'.
This commit is contained in:
rubidium
2008-07-17 13:47:04 +00:00
parent c913be73d8
commit ab234cf90c
51 changed files with 125 additions and 176 deletions

View File

@@ -11,8 +11,6 @@ char *InlineString(char *buf, StringID string);
char *GetString(char *buffr, StringID string, const char *last);
const char *GetStringPtr(StringID string);
extern char _userstring[128];
void InjectDParam(int amount);
static inline void SetDParamX(uint64 *s, uint n, uint64 v)
@@ -28,16 +26,8 @@ static inline void SetDParam(uint n, uint64 v)
_decode_parameters[n] = v;
}
/* Used to bind a C string name to a dparam number.
* NOTE: This has a short lifetime. You can't
* use this string much later or it will be gone. */
void SetDParamStr(uint n, const char *str);
/** This function takes a C-string and allocates a temporary string ID.
* The duration of the bound string is valid only until the next call to GetString,
* so be careful. */
StringID BindCString(const char *str);
static inline uint64 GetDParamX(const uint64 *s, uint n)
{
return s[n];