]>
jfr.im git - irc/quakenet/newserv.git/blob - lib/sstring.c
1 /* sstring.h - Declaration of "static strings" functions */
4 #include "../core/nsmalloc.h"
9 sstring
*getsstring(const char *inputstr
, int maxlen
) {
10 sstring
*retval
= NULL
;
13 /* getsstring() on a NULL pointer returns a NULL sstring.. */
17 length
= strlen(inputstr
) + 1;
22 assert(length
<= SSTRING_MAX
+ 1);
24 retval
= nsmalloc(POOL_SSTRING
, sizeof(sstring
) + length
);
26 retval
->length
= length
- 1;
27 strncpy(retval
->content
, inputstr
, length
- 1);
28 retval
->content
[length
- 1] = '\0';
33 void freesstring(sstring
*inval
) {
34 nsfree(POOL_SSTRING
, inval
);
37 int sstringcompare(sstring
*ss1
, sstring
*ss2
) {
38 if (ss1
->length
!= ss2
->length
)
41 return strncmp(ss1
->content
, ss2
->content
, ss1
->length
);