/* stdlib.h */
#ifndef STDLIB_H
#define STDLIB_H

/*	Abort compilation
abort()
{
	int j,k;

	if (fp_input2) endinclude();
	if (fp_input)  fclose(fp_input);
	closeout();
	toconsole();
	pl("Compilation aborted.");  nl();
	exit();
}
	End abort */

/* Print a carriage return and a string only to console */
void pl(char* str);

/* direct output to console */
void toconsole();

/* direct output back to file */
void tofile();

/** FILE output **/
char foutput_chr(char c);

void outstr(char* ptr);

/** returns zero if no match, otherwise > 0 = str length. **/
/** str2 is null terminated, which is the limit of comparing. **/
/** in effect, str2 is contained in str1. **/
int streq(char* str1, char* str2);

/** alphanumeric string match, 0 is mismatch, else len **/
int astreq(char* str1, char* str2, int len);

int match(char* lit);

int amatch(char* lit, int len);

/* Note: added filter of CR for filesystems where NL is CR,LF.
** The parsing strategy is to make each \n into a null, so
** each line is a null terminated string.  This routine scans
** thru the line buffer removing leading space, tab, CR, and
** requests new string if a null is inlined.
*/
void deblank();

#endif /* STDLIB_H */