AcePerl
view release on metacpan or search on metacpan
acelib/texthelp.c view on Meta::CPAN
return TRUE;
}
if (!helpFilename)
freeOut ("Help subject not found\n");
else
freeOut ("Help subject is ambiguous\n");
freeOut ("Try:\n help\n");
/* now show a list of possible files */
if(!(dirList = filDirectoryCreate
(helpGetDir(), HELP_FILE_EXTENSION, "r")) )
{
messout ("Can't open help directory %s\n"
"(%s)",
helpGetDir(), messSysErrorText()) ;
return FALSE ;
}
for (i = 0, x = 0 ; i < arrayMax(dirList) ; i++)
{
cp = arr(dirList,i,char*) ;
if (!cp || !*cp || !strlen(cp))
continue ;
if (helpFilename)
{
if (strncasecmp(filGetFilename(helpFilename),cp,
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 */
/************************************************************/
/* counter-part to graphWebBrowser(), which remote-controls
netscape using the -remote command line option. Useful
for textual applications running in an X11 environment,
where x-apps can be called from within the application,
but the Xtoolkit (used to drive netscape via X-atoms)
shouldn't be linked in, because it is a textual app. */
/************************************************************/
UTIL_FUNC_DEF BOOL helpWebBrowser(char *link)
{
/* currently impossible, because it is hard to find out whether
a netscape process is already running.
Stupidly enough 'netscape -remote...' doesn't exit
with code 1, if it can't connect to an existing process
*/
return FALSE;
} /* helpWebBrowser */
/************************************************************/
/****************** ***********************/
/****************** static functions ***********************/
/****************** ***********************/
/************************************************************/
static void htmlPagePrint (HtmlPage *page)
{
/* init screen-position parameters */
WINX = 80 ;
indent = 2 ;
xPos = indent ;
/* start recursivle printing nodes */
printTextSection (page->root) ;
return;
} /* htmlPagePrint */
/************************************************************/
static void newTextLine (void)
{
int i ;
/* if (xPos != indent)*/
{
freeOut("\n") ;
for (i = 0; i < indent; ++i) freeOut (" ") ;
xPos = indent ;
}
} /* newLine */
/************************************************************/
static void blankTextLine (void)
{
int i ;
freeOut("\n") ;
for (i = 0; i < indent; ++i) freeOut (" ") ;
xPos = indent ;
newTextLine () ;
} /* newLine */
/************************************************************/
static void printTextSection (HtmlNode *node)
/* part specific to the text-help system, which uses freeOut
to print arsed HTML as plain text */
{
( run in 1.307 second using v1.01-cache-2.11-cpan-39bf76dae61 )