26 lines
610 B
C
26 lines
610 B
C
#ifndef _STRINGBUF_H_
|
|
#define _STRINGBUF_H_
|
|
|
|
typedef /*@abstract@*/ struct StringBufRec *StringBuf;
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*@only@*/ StringBuf newStringBuf(void);
|
|
void freeStringBuf( /*@only@*/ StringBuf sb);
|
|
void truncStringBuf(StringBuf sb);
|
|
/*@observer@*/ 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, const char *s, int nl);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _STRINGBUF_H_ */
|