AcePerl
view release on metacpan or search on metacpan
acelib/freeout.c view on Meta::CPAN
/* File: freeout.c
* Author: Danielle et jean Thierry-Mieg (mieg@mrc-lmba.cam.ac.uk)
* Copyright (C) J Thierry-Mieg and R Durbin, 1995
*-------------------------------------------------------------------
* This file is part of the ACEDB genome database package, written by
* Richard Durbin (MRC LMB, UK) rd@mrc-lmba.cam.ac.uk, and
* Jean Thierry-Mieg (CRBM du CNRS, France) mieg@frmop11.bitnet
*
* Description:
* Exported functions: see regular.h
* HISTORY:
* Last edited: Sep 11 10:09 1998 (edgrif)
* * Sep 11 09:26 1998 (edgrif): Add messExit function registering.
* * Dec 14 16:47 1995 (mieg)
* Created: Thu Dec 7 22:22:33 1995 (mieg)
*-------------------------------------------------------------------
*/
/* $Id: freeout.c,v 1.1 2002/11/14 20:00:06 lstein Exp $ */
#include "freeout.h"
#include <ctype.h>
typedef struct outStruct { int magic ;
FILE *fil ;
Stack s ;
int line ; /* line number */
int pos ; /* char number in line */
int byte ; /* total byte length */
int level ;
struct outStruct *next ;
} OUT ;
static int MAGIC = 245393 ;
static int outLevel = 0 ;
static Array outArray = 0 ;
static OUT *outCurr ;
static Stack outBuf = 0 ; /* buffer for messages */
#define BUFSIZE 65536
static void freeMessOut (char*) ;
/************************************************/
void freeOutInit (void)
{
static BOOL isInitialised = FALSE ;
if (!isInitialised)
{ isInitialised = TRUE ;
outLevel = 0 ;
outCurr = 0 ;
outArray = arrayCreate (6, OUT) ;
freeOutSetFile (stdout) ;
outBuf = stackCreate (BUFSIZE) ;
messOutRegister (freeMessOut) ;
messErrorRegister (freeMessOut) ;
messExitRegister (freeMessOut) ;
/* what about prompt/query? */
}
}
/************************************************/
static int freeOutSetFileStack (FILE *fil, Stack s)
{ int i = 0 ;
freeOutInit () ;
while (array (outArray, i, OUT).magic) i++ ;
outLevel++ ;
outCurr = arrayp (outArray, i, OUT) ;
( run in 1.148 second using v1.01-cache-2.11-cpan-5a3173703d6 )