]> jfr.im git - irc/quakenet/newserv.git/blame - lib/sstring.c
FAKEUSERS: remove unused variable
[irc/quakenet/newserv.git] / lib / sstring.c
CommitLineData
6331db28
GB
1/* sstring.h - Declaration of "static strings" functions */
2
3#include "sstring.h"
4#include "../core/nsmalloc.h"
5
6#include <assert.h>
7#include <string.h>
8
9sstring *getsstring(const char *inputstr, int maxlen) {
10 sstring *retval = NULL;
11 int length;
12
13 /* getsstring() on a NULL pointer returns a NULL sstring.. */
14 if (inputstr == NULL)
15 return NULL;
16
17 if (inputstr[0] == '\0')
18 return NULL;
19
20 length = strlen(inputstr) + 1;
21
22 if (length > maxlen)
23 length = maxlen + 1;
24
25 assert(length <= SSTRING_MAX + 1);
26
27 retval = nsmalloc(POOL_SSTRING, sizeof(sstring) + length);
28
29 retval->length = length - 1;
30 strncpy(retval->content, inputstr, length - 1);
31 retval->content[length - 1] = '\0';
32
33 return retval;
34}
35
36void freesstring(sstring *inval) {
37 nsfree(POOL_SSTRING, inval);
38}
39
40int sstringcompare(sstring *ss1, sstring *ss2) {
41 if (ss1->length != ss2->length)
42 return -1;
43
44 return strncmp(ss1->content, ss2->content, ss1->length);
45}