about summary refs log tree commit diff stats
path: root/WWW
diff options
context:
space:
mode:
authorThomas E. Dickey <dickey@invisible-island.net>2011-10-06 22:19:04 -0400
committerThomas E. Dickey <dickey@invisible-island.net>2011-10-06 22:19:04 -0400
commitadc7d65fee2f697d9db0aeafebbf9183e0b5cf9d (patch)
tree67b3271d21f679feab6e12ac63bf9f18d2c35e92 /WWW
parent88887f67680e0659d998c44a860148b13c34d482 (diff)
downloadlynx-snapshots-adc7d65fee2f697d9db0aeafebbf9183e0b5cf9d.tar.gz
snapshot of project "lynx", label v2-8-8dev_9a
Diffstat (limited to 'WWW')
-rw-r--r--WWW/Library/Implementation/HTFWriter.c361
1 files changed, 0 insertions, 361 deletions
diff --git a/WWW/Library/Implementation/HTFWriter.c b/WWW/Library/Implementation/HTFWriter.c
deleted file mode 100644
index 90ab003e..00000000
--- a/WWW/Library/Implementation/HTFWriter.c
+++ /dev/null
@@ -1,361 +0,0 @@
-/*		FILE WRITER				HTFWrite.h
- *		===========
- *
- *	This version of the stream object just writes to a C file.
- *	The file is assumed open and left open.
- *
- *	Bugs:
- *		strings written must be less than buffer size.
- */
-
-#define HTSTREAM_INTERNAL 1
-
-#include <HTUtils.h>
-
-#include <HTFWriter.h>
-
-#include <HTFormat.h>
-#include <HTAlert.h>
-#include <HTFile.h>
-
-#include <LYUtils.h>
-#include <LYLeaks.h>
-
-/*		Stream Object
- *		------------
- */
-
-struct _HTStream {
-    const HTStreamClass *isa;
-
-    FILE *fp;
-    char *end_command;
-    char *remove_command;
-    BOOL announce;
-};
-
-/*_________________________________________________________________________
- *
- *		B L A C K    H O L E    C L A S S
- *
- *	There is only one black hole instance shared by anyone
- *	who wanst a black hole.  These black holes don't radiate,
- *	they just absorb data.
- */
-static void HTBlackHole_put_character(HTStream *me, char c)
-{
-}
-static void HTBlackHole_put_string(HTStream *me, const char *s)
-{
-}
-static void HTBlackHole_write(HTStream *me, const char *s, int l)
-{
-}
-static void HTBlackHole_free(HTStream *me)
-{
-}
-static void HTBlackHole_abort(HTStream *me, HTError e)
-{
-}
-
-/*	Black Hole stream
- *	-----------------
- */
-static const HTStreamClass HTBlackHoleClass =
-{
-    "BlackHole",
-    HTBlackHole_free,
-    HTBlackHole_abort,
-    HTBlackHole_put_character, HTBlackHole_put_string,
-    HTBlackHole_write
-};
-
-static HTStream HTBlackHoleInstance =
-{
-    &HTBlackHoleClass,
-    NULL,
-    NULL,
-    NULL,
-    NO
-};
-
-/*	Black hole craetion
-*/
-HTStream *HTBlackHole(void)
-{
-    return &HTBlackHoleInstance;
-}
-
-/*_________________________________________________________________________
- *
- *		F I L E     A C T I O N 	R O U T I N E S
- *  Bug:
- *	All errors are ignored.
- */
-
-/*	Character handling
- *	------------------
- */
-
-static void HTFWriter_put_character(HTStream *me, char c)
-{
-    putc(c, me->fp);
-}
-
-/*	String handling
- *	---------------
- *
- *	Strings must be smaller than this buffer size.
- */
-static void HTFWriter_put_string(HTStream *me, const char *s)
-{
-    fputs(s, me->fp);
-}
-
-/*	Buffer write.  Buffers can (and should!) be big.
- *	------------
- */
-static void HTFWriter_write(HTStream *me, const char *s, int l)
-{
-    fwrite(s, 1, l, me->fp);
-}
-
-/*	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.
- */
-static void HTFWriter_free(HTStream *me)
-{
-    fclose(me->fp);
-    if (me->end_command) {	/* Temp file */
-	_HTProgress(me->end_command);	/* Tell user what's happening */
-	system(me->end_command);
-	FREE(me->end_command);
-	if (me->remove_command) {
-	    system(me->remove_command);
-	    FREE(me->remove_command);
-	}
-    }
-
-    FREE(me);
-}
-
-/*	End writing
-*/
-
-static void HTFWriter_abort(HTStream *me, HTError e)
-{
-    fclose(me->fp);
-    if (me->end_command) {	/* Temp file */
-	CTRACE((tfp, "HTFWriter: Aborting: file not executed.\n"));
-	FREE(me->end_command);
-	if (me->remove_command) {
-	    system(me->remove_command);
-	    FREE(me->remove_command);
-	}
-    }
-
-    FREE(me);
-}
-
-/*	Structured Object Class
- *	-----------------------
- */
-static const HTStreamClass HTFWriter =	/* As opposed to print etc */
-{
-    "FileWriter",
-    HTFWriter_free,
-    HTFWriter_abort,
-    HTFWriter_put_character, HTFWriter_put_string,
-    HTFWriter_write
-};
-
-/*	Subclass-specific Methods
- *	-------------------------
- */
-
-HTStream *HTFWriter_new(FILE *fp)
-{
-    HTStream *me;
-
-    if (!fp)
-	return NULL;
-
-    me = (HTStream *) malloc(sizeof(*me));
-    if (me == NULL)
-	outofmem(__FILE__, "HTML_new");
-
-    assert(me != NULL);
-
-    me->isa = &HTFWriter;
-
-    me->fp = fp;
-    me->end_command = NULL;
-    me->remove_command = NULL;
-    me->announce = NO;
-
-    return me;
-}
-
-/*	Make system command from template
- *	---------------------------------
- *
- *	See mailcap spec for description of template.
- */
-/* @@ to be written.  sprintfs will do for now.  */
-
-/*	Take action using a system command
- *	----------------------------------
- *
- *	originally from Ghostview handling by Marc Andreseen.
- *	Creates temporary file, writes to it, executes system command
- *	on end-document.  The suffix of the temp file can be given
- *	in case the application is fussy, or so that a generic opener can
- *	be used.
- */
-HTStream *HTSaveAndExecute(HTPresentation *pres,
-			   HTParentAnchor *anchor,	/* Not used */
-			   HTStream *sink)	/* Not used */
-
-#ifdef UNIX
-#define REMOVE_COMMAND "/bin/rm -f %s\n"
-#endif
-#ifdef VMS
-#define REMOVE_COMMAND "delete/noconfirm/nolog %s.."
-#endif
-
-#ifdef REMOVE_COMMAND
-{
-    char *fnam;
-    const char *suffix;
-
-    HTStream *me;
-
-    if (HTClientHost) {
-	HTAlert(CANNOT_SAVE_REMOTE);
-	return HTBlackHole();
-    }
-
-    me = (HTStream *) malloc(sizeof(*me));
-    if (me == NULL)
-	outofmem(__FILE__, "Save and execute");
-
-    assert(me != NULL);
-
-    me->isa = &HTFWriter;
-
-    /* Save the file under a suitably suffixed name */
-
-    suffix = HTFileSuffix(pres->rep, anchor->content_encoding);
-
-    fnam = (char *) malloc(L_tmpnam + 16 + strlen(suffix));
-    if (fnam == NULL)
-	outofmem(__FILE__, "HTSaveAndExecute");
-
-    assert(fnam != NULL);
-
-    tmpnam(fnam);
-    strcat(fnam, suffix);
-
-    me->fp = fopen(fnam, BIN_W);
-    if (!me->fp) {
-	HTAlert(CANNOT_OPEN_TEMP);
-	FREE(fnam);
-	FREE(me);
-	return NULL;
-    }
-
-/*	Make command to process file
-*/
-    me->end_command = 0;
-    HTSprintf0(&(me->end_command), pres->command, fnam, fnam, fnam);
-
-    me->remove_command = NULL;	/* If needed, put into end_command */
-#ifdef NOPE
-/*	Make command to delete file
-*/
-    me->remove_command = 0;
-    HTSprintf0(&(me->remove_command), REMOVE_COMMAND, fnam);
-#endif
-
-    me->announce = NO;
-    FREE(fnam);
-    return me;
-}
-
-#else				/* can do remove */
-{
-    return NULL;
-}
-#endif
-
-/*	Save Locally
- *	------------
- *
- *  Bugs:
- *	GUI Apps should open local Save panel here really.
- *
- */
-HTStream *HTSaveLocally(HTPresentation *pres,
-			HTParentAnchor *anchor,		/* Not used */
-			HTStream *sink)		/* Not used */
-
-{
-    char *fnam;
-    char *answer;
-    const char *suffix;
-
-    HTStream *me;
-
-    if (HTClientHost) {
-	HTAlert(CANNOT_SAVE_REMOTE);
-	return HTBlackHole();
-    }
-
-    me = (HTStream *) malloc(sizeof(*me));
-    if (me == NULL)
-	outofmem(__FILE__, "SaveLocally");
-
-    assert(me != NULL);
-
-    me->isa = &HTFWriter;
-    me->end_command = NULL;
-    me->remove_command = NULL;	/* If needed, put into end_command */
-    me->announce = YES;
-
-    /* Save the file under a suitably suffixed name */
-
-    suffix = HTFileSuffix(pres->rep, anchor->content_encoding);
-
-    fnam = (char *) malloc(L_tmpnam + 16 + strlen(suffix));
-    if (fnam == NULL)
-	outofmem(__FILE__, "HTSaveLocally");
-
-    assert(fnam != NULL);
-
-    tmpnam(fnam);
-    strcat(fnam, suffix);
-
-    /*  Save Panel */
-    answer = HTPrompt(GIVE_FILENAME, fnam);
-
-    FREE(fnam);
-
-    me->fp = fopen(answer, BIN_W);
-    if (!me->fp) {
-	HTAlert(CANNOT_OPEN_OUTPUT);
-	FREE(answer);
-	FREE(me);
-	return NULL;
-    }
-
-    FREE(answer);
-    return me;
-}
-
-/*	Format Converter using system command
- *	-------------------------------------
- */