60 lines
857 B
C
60 lines
857 B
C
#ifndef _STRINGBUF_H_
|
|
#define _STRINGBUF_H_
|
|
|
|
/** \file lib/stringbuf.h
|
|
*
|
|
*/
|
|
|
|
/**
|
|
*/
|
|
typedef /*@abstract@*/ struct StringBufRec *StringBuf;
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
*/
|
|
/*@only@*/ StringBuf newStringBuf(void)
|
|
/*@*/;
|
|
|
|
/**
|
|
*/
|
|
/*@null@*/ StringBuf freeStringBuf( /*@only@*/ /*@null@*/ StringBuf sb)
|
|
/*@modifies sb @*/;
|
|
|
|
/**
|
|
*/
|
|
/*@unused@*/
|
|
void truncStringBuf(StringBuf sb)
|
|
/*@modifies sb @*/;
|
|
|
|
/**
|
|
*/
|
|
/*@observer@*/ char * getStringBuf(StringBuf sb)
|
|
/*@*/;
|
|
|
|
/**
|
|
*/
|
|
void stripTrailingBlanksStringBuf(StringBuf sb)
|
|
/*@modifies 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)
|
|
/*@modifies sb @*/;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _STRINGBUF_H_ */
|