#ifndef _STRINGBUF_H_ #define _STRINGBUF_H_ /** \file lib/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_ */