rpm/lib/stringbuf.h

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_ */