build: add the SIBO SDK
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
P_SEARCH.C
|
||||
*/
|
||||
|
||||
#include <plib.h>
|
||||
|
||||
LOCAL_D VOID *fcb=NULL;
|
||||
|
||||
LOCAL_C VOID panic(TEXT *msg, INT errno)
|
||||
{
|
||||
TEXT bb[E_MAX_ERROR_TEXT_SIZE];
|
||||
|
||||
p_errs(&bb[0],errno);
|
||||
p_printf("%s: %s",msg,&bb[0]);
|
||||
p_leave(errno);
|
||||
}
|
||||
|
||||
#pragma save
|
||||
#pragma ENTER_CALL
|
||||
|
||||
LOCAL_C INT CDECL SearchFile(TEXT *file, TEXT *pattern)
|
||||
{
|
||||
INT ret;
|
||||
TEXT line[P_FMAXRSIZE];
|
||||
|
||||
if ((ret=p_open(&fcb,file,P_FTEXT))<0)
|
||||
panic("Failed to open file",ret);
|
||||
while ((ret=p_read(fcb,&line[0],sizeof(line)))>=0)
|
||||
{
|
||||
line[ret]=0;
|
||||
if (ret && p_ssubi(&line[0],pattern)>=0)
|
||||
p_printf(&line[0]);
|
||||
}
|
||||
p_close(fcb);
|
||||
if (ret!=E_FILE_EOF)
|
||||
panic("Failed to read file",ret);
|
||||
return(0);
|
||||
}
|
||||
|
||||
#pragma restore
|
||||
|
||||
GLDEF_C INT main(VOID)
|
||||
{
|
||||
TEXT *p;
|
||||
TEXT bb[P_FNAMESIZE];
|
||||
|
||||
while (p_getl(">",&bb[0],P_FNAMESIZE))
|
||||
{
|
||||
p=p_skipch(&bb[0]);
|
||||
*p++=0;
|
||||
p=p_skipwh(p);
|
||||
p_printf("Searching %s for %s",&bb[0],p);
|
||||
p_enter3(SearchFile,&bb[0],p);
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
Reference in New Issue
Block a user