# lib/stringbuf.h

Go to the documentation of this file.

    00001 #ifndef _STRINGBUF_H_
    00002 #define _STRINGBUF_H_
    00003
    00010 typedef /*@abstract@*/ struct StringBufRec *StringBuf;
    00011
    00012 #ifdef __cplusplus
    00013 extern "C" {
    00014 #endif
    00015
    00018 /*@only@*/ StringBuf newStringBuf(void)
    00019         /*@*/;
    00020
    00023 /*@null@*/ StringBuf freeStringBuf( /*@only@*/ /*@null@*/ StringBuf sb)
    00024         /*@modifies sb @*/;
    00025
    00028 /*@unused@*/
    00029 void truncStringBuf(StringBuf sb)
    00030         /*@modifies sb @*/;
    00031
    00034 /*@observer@*/ char * getStringBuf(StringBuf sb)
    00035         /*@*/;
    00036
    00039 void stripTrailingBlanksStringBuf(StringBuf sb)
    00040         /*@modifies sb @*/;
    00041
    00044 #define appendStringBuf(sb, s)     appendStringBufAux(sb, s, 0)
    00045
    00048 #define appendLineStringBuf(sb, s) appendStringBufAux(sb, s, 1)
    00049
    00052 void appendStringBufAux(StringBuf sb, const char * s, int nl)
    00053         /*@modifies sb @*/;
    00054
    00055 #ifdef __cplusplus
    00056 }
    00057 #endif
    00058
    00059 #endif  /* _STRINGBUF_H_ */