comparison src/vbuf.h @ 176:ac6e22c8a9cf

build separate libpst, libpst-libs, libpst-devel rpms. remove many functions from the interface by making them static.
author Carl Byington <carl@five-ten-sg.com>
date Wed, 08 Apr 2009 14:13:06 -0700
parents 6954d315aaa8
children b65e8d0a088a
comparison
equal deleted inserted replaced
175:03dbd449290f 176:ac6e22c8a9cf
40 typedef struct varstr vstr; 40 typedef struct varstr vstr;
41 41
42 #define VBUF_STATIC(x,y) static vbuf *x = NULL; if(!x) x = pst_vballoc(y); 42 #define VBUF_STATIC(x,y) static vbuf *x = NULL; if(!x) x = pst_vballoc(y);
43 #define VSTR_STATIC(x,y) static vstr *x = NULL; if(!x) x = pst_vsalloc(y); 43 #define VSTR_STATIC(x,y) static vstr *x = NULL; if(!x) x = pst_vsalloc(y);
44 44
45 int pst_skip_nl( char *s ); // returns the width of the newline at s[0] 45 vbuf *pst_vballoc(size_t len);
46 int pst_find_nl( vstr *vs ); // find newline of type type in b 46 void pst_vbgrow(vbuf *vb, size_t len); // grow buffer by len bytes, data are preserved
47 47 void pst_vbset(vbuf *vb, void *data, size_t len);
48 // vbuf functions 48 void pst_vbappend(vbuf *vb, void *data, size_t length);
49 vbuf *pst_vballoc( size_t len ); 49 void pst_unicode_init();
50 void pst_vbfree( vbuf *vb );
51 void pst_vbclear( vbuf *vb ); //ditch the data, keep the buffer
52 void pst_vbresize( vbuf *vb, size_t len );
53 size_t pst_vbavail( vbuf *vb );
54 void pst_vbdump( vbuf *vb );
55 void pst_vbgrow( vbuf *vb, size_t len ); // grow buffer by len bytes, data are preserved
56 void pst_vbset( vbuf *vb, void *data, size_t len );
57 void pst_vbskipws( vbuf *vb );
58 void pst_vbappend( vbuf *vb, void *data, size_t length );
59 void pst_vbskip( vbuf *vb, size_t skip );
60 void pst_vboverwrite( vbuf *vbdest, vbuf *vbsrc );
61
62 // vstr functions
63 vstr *pst_vsalloc( size_t len );
64 char *pst_vsb( vstr *vs );
65 size_t pst_vslen( vstr *vs ); //strlen
66 void pst_vsfree( vstr *vs );
67 void pst_vsset( vstr *vs, char *s ); // Store string s in vb
68 void pst_vsnset( vstr *vs, char *s, size_t n ); // Store string s in vb
69 void pst_vsgrow( vstr *vs, size_t len ); // grow buffer by len bytes, data are preserved
70 size_t pst_vsavail( vstr *vs );
71 void pst_vscat( vstr *vs, char *str );
72 void pst_vsncat( vstr *vs, char *str, size_t len );
73 void pst_vsnprepend( vstr *vs, char *str, size_t len ) ;
74 void pst_vsskip( vstr *vs, size_t len );
75 int pst_vscmp( vstr *vs, char *str );
76 void pst_vsskipws( vstr *vs );
77 void pst_vs_printf( vstr *vs, char *fmt, ... );
78 void pst_vs_printfa( vstr *vs, char *fmt, ... );
79 void pst_vshexdump( vstr *vs, const char *b, size_t start, size_t stop, int ascii );
80 int pst_vscatprintf( vstr *vs, char *fmt, ... );
81 void pst_vsvprintf( vstr *vs, char *fmt, va_list ap );
82 void pst_vstrunc( vstr *vs, size_t off ); // Drop chars [off..dlen]
83 int pst_vslast( vstr *vs ); // returns the last character stored in a vstr string
84 void pst_vscharcat( vstr *vs, int ch );
85
86
87 void pst_unicode_init();
88 void pst_unicode_close();
89 size_t pst_vb_utf16to8(vbuf *dest, const char *inbuf, int iblen); 50 size_t pst_vb_utf16to8(vbuf *dest, const char *inbuf, int iblen);
90 size_t pst_vb_utf8to8bit(vbuf *dest, const char *inbuf, int iblen, const char* charset); 51 size_t pst_vb_utf8to8bit(vbuf *dest, const char *inbuf, int iblen, const char* charset);
91 size_t pst_vb_8bit2utf8(vbuf *dest, const char *inbuf, int iblen, const char* charset); 52 size_t pst_vb_8bit2utf8(vbuf *dest, const char *inbuf, int iblen, const char* charset);
92 53
93 int pst_vb_skipline( struct varbuf *vb ); // in: vb->b == "stuff\nmore_stuff"; out: vb->b == "more_stuff"
94
95 54
96 #endif // VBUF_H 55 #endif // VBUF_H