summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/lynx/WWW/Library/Implementation/HTString.h
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/lynx/WWW/Library/Implementation/HTString.h')
-rw-r--r--gnu/usr.bin/lynx/WWW/Library/Implementation/HTString.h44
1 files changed, 39 insertions, 5 deletions
diff --git a/gnu/usr.bin/lynx/WWW/Library/Implementation/HTString.h b/gnu/usr.bin/lynx/WWW/Library/Implementation/HTString.h
index 53c52cd6792..af994c86329 100644
--- a/gnu/usr.bin/lynx/WWW/Library/Implementation/HTString.h
+++ b/gnu/usr.bin/lynx/WWW/Library/Implementation/HTString.h
@@ -59,6 +59,15 @@ extern char * HTSACopy PARAMS ((char **dest, CONST char *src));
extern char * HTSACat PARAMS ((char **dest, CONST char *src));
/*
+optimized for heavily realloc'd strings in temp objects
+*/
+#define StrAllocCopy_extra(dest, src) HTSACopy_extra (&(dest), src)
+#define FREE_extra(x) {if (x != NULL) {HTSAFree_extra(x); x = NULL;}}
+#define Clear_extra(x) {if (x != NULL) {*x = '\0';}}
+extern char * HTSACopy_extra PARAMS ((char **dest, CONST char *src));
+extern void HTSAFree_extra PARAMS ((char *s));
+
+/*
Next word or quoted string
@@ -69,7 +78,7 @@ extern char * HTNextField PARAMS ((char** pstr));
extern char * HTNextTok PARAMS((char ** pstr,
CONST char * delims, CONST char * bracks, char * found));
-#if ANSI_VARARGS
+#ifdef ANSI_VARARGS
extern char * HTSprintf (char ** pstr, CONST char * fmt, ...)
GCC_PRINTFLIKE(2,3);
extern char * HTSprintf0 (char ** pstr, CONST char * fmt, ...)
@@ -102,6 +111,7 @@ extern void HTAddXpand PARAMS((char ** result, CONST char * command, int number,
#endif
extern int HTCountCommandArgs PARAMS((CONST char * command));
+extern void HTAddToCmd PARAMS((char ** result, CONST char * command, int number, CONST char * string));
extern void HTAddParam PARAMS((char ** result, CONST char * command, int number, CONST char * parameter));
extern void HTEndParam PARAMS((char ** result, CONST char * command, int number));
@@ -109,15 +119,39 @@ extern void HTEndParam PARAMS((char ** result, CONST char * command, int number)
#define HTOptParam(result, command, number, parameter) HTSACat(result, parameter)
/* Binary copy and concat */
-#ifdef EXP_FILE_UPLOAD
-
typedef struct {
char *str;
int len;
} bstring;
-extern void HTSABCopy PARAMS((bstring** dest, CONST char * src, int len));
-extern void HTSABCat PARAMS((bstring ** dest, CONST char * src, int len));
+extern void HTSABCopy PARAMS((bstring ** dest, CONST char * src, int len));
+extern void HTSABCopy0 PARAMS((bstring ** dest, CONST char * src));
+extern void HTSABCat PARAMS((bstring ** dest, CONST char * src, int len));
+extern void HTSABCat0 PARAMS((bstring ** dest, CONST char * src));
+extern BOOL HTSABEql PARAMS((bstring * a, bstring * b));
+extern void HTSABFree PARAMS((bstring ** ptr));
+
+#define BStrLen(s) (((s) != 0) ? (s)->len : 0)
+#define BStrData(s) (((s) != 0) ? (s)->str : 0)
+
+#define BINEQ(a,b) (HTSABEql(a,b)) /* like STREQ() */
+
+#define isBEmpty(p) ((p) == 0 || BStrLen(p) == 0)
+
+#define BStrCopy(d,s) HTSABCopy( &(d), BStrData(s), BStrLen(s))
+#define BStrCopy0(d,s) HTSABCopy0( &(d), s)
+#define BStrCat(d,s) HTSABCat( &(d), BStrData(s), BStrLen(s))
+#define BStrCat0(d,s) HTSABCat0( &(d), s)
+#define BStrFree(d) HTSABFree( &(d))
+
+#ifdef ANSI_VARARGS
+extern bstring * HTBprintf (bstring ** pstr, CONST char * fmt, ...)
+ GCC_PRINTFLIKE(2,3);
+#else
+extern bstring * HTBprintf () GCC_PRINTFLIKE(2,3);
#endif
+extern void trace_bstring PARAMS((bstring *data));
+extern void trace_bstring2 PARAMS((CONST char *text, int size));
+
#endif /* HTSTRING_H */