typedef struct
{
int strlen;
} STRING;
#define MINLEN 4096
#define STRTOCHAR(a) ((char *)(a) + sizeof(STRING))
#define STRTOCHARN(a, n) (*((char *)(a) + sizeof(STRING) + (n)))
#define STRCURSIZE(a) (sizeof(STRING) + (a)->strlen + 1)
#define STRLENGTH(a) ((a)->strlen)
STRING *string_new(void);
void string_cat(STRING **s, char *catstr, int len);
void string_clear(STRING **s);
void string_dropfront(STRING **s, int nchars);
void string_catvprintf(STRING **s, int len, char *format, va_list ap);
void string_catprintf(STRING **s, char *format, ...);
void string_filterbadchars_telnet(STRING **s, int start);
void string_filterbadchars_unix(STRING **s, int start);
syntax highlighted by Code2HTML, v. 0.9.1