AcePerl
view release on metacpan or search on metacpan
acelib/freeout.c view on Meta::CPAN
array (buf, k++, char) = ' ' ;
}
array (buf, k++, char) = 0 ;
freeOut (arrp(buf, 0, char)) ;
}
freeOut (text) ;
}
/************************************************/
void freeOutf (char *format,...)
{
va_list args ;
stackClear (outBuf) ;
va_start (args,format) ;
vsprintf (stackText (outBuf,0), format,args) ;
va_end (args) ;
if (strlen(stackText (outBuf,0)) >= BUFSIZE)
messcrash ("abusing freeOutf with too long a string: \n%s",
outBuf) ;
freeOut (stackText (outBuf,0)) ;
}
/************************************************/
int freeOutLine (void)
{ return outCurr->line ; }
acelib/messubs.c view on Meta::CPAN
/* */
/* */
/***************************************************/
UTIL_FUNC_DEF void messbeep (void)
{
if (beepRoutine)
(*beepRoutine)() ;
else
{ freeOutf ("%c",0x07) ; /* bell character, I hope */
fflush (stdout) ; /* added by fw 02.Feb 1994 */
}
}
/*******************************/
UTIL_FUNC_DEF void messout (char *format,...)
{
va_list args ;
char *mesg_buf ;
acelib/texthelp.c view on Meta::CPAN
strlen(filGetFilename(helpFilename))) != 0)
continue;
}
n = strlen(cp) ;
if (n > 5 && !strcmp("."HELP_FILE_EXTENSION,cp + n - 5))
*(cp + n - 5) = 0 ;
x += n + 1 ;
if (x > 50) { x = n + 1 ; freeOut("\n") ;}
freeOutf("%s ", cp) ;
}
freeOut("\n") ;
filDirectoryDestroy (dirList);
return FALSE;
} /* helpPrint */
/************************************************************/
acelib/texthelp.c view on Meta::CPAN
case HTML_COMMENT:
/* do nothing */
break ;
case HTML_DOC:
case HTML_HEAD:
case HTML_BODY:
if (node->left) printTextSection (node->left) ;
break ;
case HTML_TITLE:
for (i = 0; i < strlen(node->text)+4; ++i)
freeOutf ("*") ;
freeOutf ("\n* %s *\n", node->text) ;
for (i = 0; i < strlen(node->text)+4; ++i)
freeOutf ("*") ;
blankTextLine() ;
break ;
case HTML_HEADER:
{
MODE_HEADER = TRUE ;
indent = node->hlevel*2 ;
blankTextLine () ;
/* check, in case some bozo has done a thing like <H1></H1> */
if (node->left) printTextSection (node->left) ;
freeOutf ("\n") ;
for (i = 0; i < xPos; ++i)
{
if (i < indent) freeOutf (" ") ;
else freeOutf ("*") ;
}
blankTextLine () ;
MODE_HEADER = FALSE ;
}
break ;
case HTML_LIST:
if (node->lstyle == HTML_LIST_BULLET ||
acelib/texthelp.c view on Meta::CPAN
if (node->lstyle == HTML_LIST_NOINDENT_NOBULLET)
{
/* if we are in a <DL> list and went to indentation
because of a <DD> item, a <DT> item brings back
the old indent-level (noindent for <DL>'s) */
if (FOUND_NOBULLET_IN_LIST_NOINDENT)
{
indent -= 6 ;
FOUND_NOBULLET_IN_LIST_NOINDENT = FALSE ;
newTextLine () ;
freeOutf (" ") ;
}
}
else
newTextLine () ;
if (node->lstyle == HTML_LIST_BULLET ||
node->lstyle == HTML_LIST_NOINDENT)
{
freeOutf ("* ") ;
indent += 2 ;
xPos = indent ;
}
else if (node->lstyle == HTML_LIST_NUMBER)
{
freeOutf ("%d. ", itemNumber) ;
indent += strlen(messprintf ("%d. ", itemNumber)) ;
xPos = indent ;
}
else if (node->lstyle == HTML_LIST_NOBULLET)
{
/* part of a <DL> noindented list, but a <DD>
item becomes indented, but no bullet */
/* if we come across the first NO_BULLET item, in
a LIST_NOINDENT, the LIST becomes indented */
if (!FOUND_NOBULLET_IN_LIST_NOINDENT)
{
indent += 6 ;
xPos = indent ;
freeOutf (" ") ;
fflush (stdout) ;
FOUND_NOBULLET_IN_LIST_NOINDENT = TRUE ;
}
}
printTextSection (node->left) ;
}
if (node->lstyle == HTML_LIST_BULLET ||
node->lstyle == HTML_LIST_NOINDENT)
{
acelib/texthelp.c view on Meta::CPAN
buf[(int)WINX] = 0 ;
len = (int)WINX ;
}
/* word wrapping if not in preformatting mode */
if (!MODE_PREFORMAT)
{
if (xPos != indent) /* not at start of line ... */
{
xPos += 1 ; /* ... one space before the word */
freeOutf (" ") ;
fflush (stdout) ;
}
if (xPos + len > WINX)
{
newTextLine () ;
}
freeOutf ("%s", buf) ;
xPos += strlen(buf) ; /* place xPos at the end of word */
}
else if (MODE_PREFORMAT)
{
int oldpos, stringpos, screenpos, ii ;
i = 0 ;
/* replace TABs with appropriate number of spaces */
while (buf[i])
{
acelib/texthelp.c view on Meta::CPAN
i = stringpos ;
}
++i ;
}
/* don't use len, it might have changed when inserting spaces */
if (buf[strlen(buf)-1] == '\n')
{
buf[strlen(buf)-1] = 0 ;
freeOutf ("%s", buf) ;
xPos += strlen(buf) ;
newTextLine (); /* for the '\n' */
}
else
{
freeOutf ("%s", buf) ;
xPos += strlen(buf) ;
}
}
}
break ;
case HTML_GIFIMAGE:
{
freeOutf (" [IMAGE] ") ;
xPos += 9 ;
}
break ;
case HTML_NOIMAGE:
break ;
case HTML_RULER:
{
newTextLine () ;
for (i = indent; i < WINX; ++i)
freeOutf ("-") ;
xPos = WINX ;
newTextLine () ;
}
break ;
case HTML_PARAGRAPH:
blankTextLine () ;
break ;
case HTML_LINEBREAK:
newTextLine () ;
break ;
acelib/texthelp.c view on Meta::CPAN
break ;
case HTML_CODE_STYLE:
{
if (node->left) printTextSection (node->left) ;
}
break ;
case HTML_STARTBLOCKQUOTE:
newTextLine () ;
indent += 3 ;
xPos = indent ;
for (i = 0; i < indent; ++i) freeOutf (" ") ;
fflush (stdout) ;
break ;
case HTML_ENDBLOCKQUOTE:
indent -= 3 ;
blankTextLine () ;
break ;
case HTML_STARTPREFORMAT:
MODE_PREFORMAT = TRUE ;
newTextLine () ;
break ;
acelib/wh/freeout.h view on Meta::CPAN
#ifndef FREEOUT_H_DEF
#define FREEOUT_H_DEF
#include "regular.h"
int freeOutSetFile (FILE *fil) ;
int freeOutSetStack (Stack s) ;
void freeOutInit (void) ;
void freeOut (char *text) ;
void freeOutf (char *format,...) ;
void freeOutxy (char *text, int x, int y) ;
void freeOutBinary (char *data, int size) ;
void freeOutClose (int level) ;
int freeOutLine (void) ;
int freeOutByte (void) ;
int freeOutPos (void) ;
#endif
make_docs.PLS view on Meta::CPAN
}
} else { # child process
open STDERR,">/dev/null";
pod2html(
$pod,
'--podroot=.',
'--podpath=.',
'--noindex',
'--htmlroot=/AcePerl/docs',
"--infile=$pod",
"--outfile=-"
);
exit 0;
}
}
system "touch $marker" if $marker;
print STDERR " ....done!\n";
( run in 0.388 second using v1.01-cache-2.11-cpan-4d50c553e7e )