/* kbs - Simple, easily fooled, POP3 spam filter Copyright (C) 2003 Ian Cowburn (ianc@noddybox.demon.co.uk) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ------------------------------------------------------------------------- $Id$ Dynamic strings */ #ifndef KBS_DSTRING_H #define KBS_DSTRING_H "$Id$" /* ---------------------------------------- TYPES */ typedef struct { size_t len; char *text; } *DString; /* ---------------------------------------- INTERFACES */ /* Sets a DString up for use. Note when reusing the same DString, remember to call DSReset() and get the return. Returns the new DString. */ DString DSInit(); /* Frees a DString. NULL can be safely passed. */ void DSFree(DString ds); /* Resets a string. Basically calls DSFree() then DSInit(). Returns the parameter. */ DString DSReset(DString ds); /* Adds a character onto a DString. Returns the passed DString. */ DString DSAddChar(DString to, char c); /* Adds a nul-terminated char pointer onto a DString. Returns the passed DString. */ DString DSAddCP(DString to, const char *p); /* Adds another DString. Returns the passed to DString. */ DString DSAddDS(DString to, const DString from); #endif /* END OF FILE */