/* Ns_Dstrings are not compatible with Tcl DStrings... for no obvious * reason. To heck with it... */ #define NS_DSTRING_STATIC_SIZE 512 typedef struct Ns_DString { char *string; int length; int spaceAvl; char staticSpace[NS_DSTRING_STATIC_SIZE]; struct Ns_DString *addr; } Ns_DString; void Ns_DStringInit (Ns_DString *); char *Ns_DStringVarAppend (Ns_DString *dsPtr, ...); char *Ns_DStringAppendElement (Ns_DString *, char *); char *Ns_DStringExport (Ns_DString *); char *Ns_DStringPrintf (Ns_DString *, char *, ...); void Ns_DStringFree (Ns_DString *); void Ns_DStringSetLength (Ns_DString *, int); void Ns_DStringTrunc (Ns_DString *, int); char *Ns_DStringNAppend (Ns_DString *, char *, int); char *Ns_DStringAppendArg (Ns_DString *, char *); char *Ns_DStringAppend (Ns_DString *, char *); int Ns_DStringLength (Ns_DString *); char *Ns_DStringValue (Ns_DString *); Ns_DString *Ns_DStringPop(void); void Ns_DStringPush(Ns_DString *dsPtr);