diff options
Diffstat (limited to 'www/lynx/patches.v6/patch-aq')
-rw-r--r-- | www/lynx/patches.v6/patch-aq | 191 |
1 files changed, 191 insertions, 0 deletions
diff --git a/www/lynx/patches.v6/patch-aq b/www/lynx/patches.v6/patch-aq new file mode 100644 index 00000000000..252b3a2f946 --- /dev/null +++ b/www/lynx/patches.v6/patch-aq @@ -0,0 +1,191 @@ +$NetBSD: patch-aq,v 1.1 2000/01/15 17:44:24 hubertf Exp $ + +Place(s) where this was (most probably...) in before: + +diff -x *.orig -urN ./WWW/Library/Implementation/HTWriter.c /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTWriter.c +--- ./WWW/Library/Implementation/HTWriter.c Thu Jan 1 01:00:00 1970 ++++ /usr/pkgsrc/www/lynx/work.unpatched/lynx2-8-2/WWW/Library/Implementation/HTWriter.c Sat Jan 15 07:57:18 2000 +@@ -0,0 +1,183 @@ ++/* FILE WRITER HTWrite.c ++** =========== ++** ++*/ ++ ++#include <HTUtils.h> ++ ++#include <HTWriter.h> ++ ++#define BUFFER_SIZE 4096 /* Tradeoff */ ++ ++#include <LYLeaks.h> ++ ++/* HTML Object ++** ----------- ++*/ ++ ++struct _HTStream { ++ CONST HTStreamClass * isa; ++ ++ int soc; ++ char *write_pointer; ++ char buffer[BUFFER_SIZE]; ++#ifdef NOT_ASCII ++ BOOL make_ascii; /* Are we writing to the net? */ ++#endif ++}; ++ ++ ++/* Write the buffer out to the socket ++** ---------------------------------- ++*/ ++ ++PRIVATE void flush ARGS1(HTStream *, me) ++{ ++ char *read_pointer = me->buffer; ++ char *write_pointer = me->write_pointer; ++ ++#ifdef NOT_ASCII ++ if (me->make_ascii) { ++ char * p; ++ for(p = me->buffer; p < me->write_pointer; p++) ++ *p = TOASCII(*p); ++ } ++#endif ++ while (read_pointer < write_pointer) { ++ int status; ++ status = NETWRITE(me->soc, me->buffer, /* Put timeout? @@@ */ ++ write_pointer - read_pointer); ++ if (status<0) { ++ CTRACE(tfp, "HTWrite: Error: write() on socket returns %d !!!\n", status); ++ return; ++ } ++ read_pointer = read_pointer + status; ++ } ++ me->write_pointer = me->buffer; ++} ++ ++ ++/*_________________________________________________________________________ ++** ++** A C T I O N R O U T I N E S ++*/ ++ ++/* Character handling ++** ------------------ ++*/ ++ ++PRIVATE void HTWriter_put_character ARGS2(HTStream *, me, char, c) ++{ ++ if (me->write_pointer == &me->buffer[BUFFER_SIZE]) flush(me); ++ *me->write_pointer++ = c; ++} ++ ++ ++ ++/* String handling ++** --------------- ++** ++** Strings must be smaller than this buffer size. ++*/ ++PRIVATE void HTWriter_put_string ARGS2(HTStream *, me, CONST char*, s) ++{ ++ int l = strlen(s); ++ if (me->write_pointer + l > &me->buffer[BUFFER_SIZE]) flush(me); ++ strcpy(me->write_pointer, s); ++ me->write_pointer = me->write_pointer + l; ++} ++ ++ ++/* Buffer write. Buffers can (and should!) be big. ++** ------------ ++*/ ++PRIVATE void HTWriter_write ARGS3(HTStream *, me, CONST char*, s, int, l) ++{ ++ ++ CONST char *read_pointer = s; ++ CONST char *write_pointer = s+l; ++ ++ flush(me); /* First get rid of our buffer */ ++ ++ while (read_pointer < write_pointer) { ++ int status = NETWRITE(me->soc, (char *)read_pointer, ++ write_pointer - read_pointer); ++ if (status<0) { ++ CTRACE(tfp, "HTWriter_write: Error on socket output stream!!!\n"); ++ return; ++ } ++ read_pointer = read_pointer + status; ++ } ++} ++ ++ ++ ++ ++/* Free an HTML object ++** ------------------- ++** ++** Note that the SGML parsing context is freed, but the created object is not, ++** as it takes on an existence of its own unless explicitly freed. ++*/ ++PRIVATE void HTWriter_free ARGS1(HTStream *, me) ++{ ++ flush(me); ++ NETCLOSE(me->soc); ++ FREE(me); ++} ++ ++PRIVATE void HTWriter_abort ARGS2(HTStream *, me, HTError, e GCC_UNUSED) ++{ ++ HTWriter_free(me); ++} ++ ++ ++/* Structured Object Class ++** ----------------------- ++*/ ++PRIVATE CONST HTStreamClass HTWriter = /* As opposed to print etc */ ++{ ++ "SocketWriter", ++ HTWriter_free, ++ HTWriter_abort, ++ HTWriter_put_character, HTWriter_put_string, ++ HTWriter_write ++}; ++ ++ ++/* Subclass-specific Methods ++** ------------------------- ++*/ ++ ++PUBLIC HTStream* HTWriter_new ARGS1(int, soc) ++{ ++ HTStream* me = (HTStream*)malloc(sizeof(*me)); ++ if (me == NULL) outofmem(__FILE__, "HTML_new"); ++ me->isa = &HTWriter; ++ ++#ifdef NOT_ASCII ++ me->make_ascii = NO; ++#endif ++ me->soc = soc; ++ me->write_pointer = me->buffer; ++ return me; ++} ++ ++/* Subclass-specific Methods ++** ------------------------- ++*/ ++ ++PUBLIC HTStream* HTASCIIWriter ARGS1(int, soc) ++{ ++ HTStream* me = (HTStream*)malloc(sizeof(*me)); ++ if (me == NULL) outofmem(__FILE__, "HTML_new"); ++ me->isa = &HTWriter; ++ ++#ifdef NOT_ASCII ++ me->make_ascii = YES; ++#endif ++ me->soc = soc; ++ me->write_pointer = me->buffer; ++ return me; ++} ++ |