summaryrefslogtreecommitdiff
path: root/lib/stringbuf.h
blob: fa7da5c4edf46e7a6e3fb8fd1e178357c4bac68d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#ifndef _STRINGBUF_H_
#define _STRINGBUF_H_

typedef struct StringBufRec *StringBuf;

StringBuf newStringBuf(void);
void freeStringBuf(StringBuf sb);
void truncStringBuf(StringBuf sb);
char *getStringBuf(StringBuf sb);
void stripTrailingBlanksStringBuf(StringBuf sb);

#define appendStringBuf(sb, s)     appendStringBufAux(sb, s, 0)
#define appendLineStringBuf(sb, s) appendStringBufAux(sb, s, 1)

void appendStringBufAux(StringBuf sb, char *s, int nl);

#endif _STRINGBUF_H_