Cube  Check-in [8386716c19]

Overview
Comment:Remove snprintf
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 8386716c19e66bc862bc1f2e42f08d5151adac38ab235ca48be35221b1e3f134
User & Date: js on 2025-03-09 21:36:18
Other Links: manifest | tags
Context
2025-03-09
22:00
Move ServerInfo to separate file check-in: 53f10f3320 user: js tags: trunk
21:36
Remove snprintf check-in: 8386716c19 user: js tags: trunk
21:33
Clean up serverbrowser.mm check-in: 4d3e209260 user: js tags: trunk
Changes

Modified src/tools.h from [c2f36ac343] to [64ce1d6c09].

76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
inline void
strcat_s(char *d, const char *s)
{
	size_t n = strlen(d);
	strn0cpy(d + n, s, _MAXDEFSTR - n);
}

inline void
formatstring(char *d, const char *fmt, va_list v)
{
	_vsnprintf(d, _MAXDEFSTR, fmt, v);
	d[_MAXDEFSTR - 1] = 0;
}

struct sprintf_s_f {
	char *d;

	sprintf_s_f(char *str) : d(str) {};

	void
	operator()(const char *fmt, ...)
	{
		va_list v;
		va_start(v, fmt);
		_vsnprintf(d, _MAXDEFSTR, fmt, v);
		va_end(v);
		d[_MAXDEFSTR - 1] = 0;
	}
};

#define sprintf_s(d) sprintf_s_f((char *)d)
#define sprintf_sd(d) \
	string d;     \
	sprintf_s(d)
#define sprintf_sdlv(d, last, fmt)        \
	string d;                         \
	{                                 \
		va_list ap;               \
		va_start(ap, last);       \
		formatstring(d, fmt, ap); \
		va_end(ap);               \
	}
#define sprintf_sdv(d, fmt) sprintf_sdlv(d, fmt, fmt)

#define fast_f2nat(val) ((int)(val))

extern void endianswap(void *, int, int);

template <class T> struct vector {
	T *buf;
	int alen;







<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<







76
77
78
79
80
81
82





































83
84
85
86
87
88
89
inline void
strcat_s(char *d, const char *s)
{
	size_t n = strlen(d);
	strn0cpy(d + n, s, _MAXDEFSTR - n);
}






































#define fast_f2nat(val) ((int)(val))

extern void endianswap(void *, int, int);

template <class T> struct vector {
	T *buf;
	int alen;