mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-26 09:54:20 +00:00
Upload
Digital Research
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
|
||||
/*----------------------------------------------------------------------*\
|
||||
| NAME : parse |
|
||||
| CREATED : 29-July-83 LAST MODIFIED: 16-September-83 |
|
||||
| FUNCTION: Parse calls f_parse to parse a filespec. It is |
|
||||
| responsible for handling error conditions returned |
|
||||
| by f_parse. |
|
||||
| INPUT : pfcb_ptr -- ptr to a parse FCB structure, which |
|
||||
| contains address for a filespec |
|
||||
| and an FCB. |
|
||||
| OUTPUT : Fills in FCB pointed to by pfcb.fcbaddr. |
|
||||
| Returns pointer to filespec delimiter. |
|
||||
\*----------------------------------------------------------------------*/
|
||||
|
||||
#include <portab.h>
|
||||
#include "utildef.h"
|
||||
#include "cpmfunc.h"
|
||||
|
||||
/* THIS REFERENCE IS IN CPMFUNC.H
|
||||
EXTERN WORD f_parse();
|
||||
*/
|
||||
|
||||
EXTERN VOID cpmerr();
|
||||
EXTERN VOID crlf();
|
||||
EXTERN VOID putfname();
|
||||
|
||||
EXTERN BYTE *err06;
|
||||
EXTERN BYTE *err10;
|
||||
|
||||
BYTE *parse( pfcb_ptr )
|
||||
struct _pfcb *pfcb_ptr; /* ptr to a parse FCB */
|
||||
{
|
||||
WORD ret_code; /* BDOS call return code */
|
||||
WORD err_code; /* BDOS call error code */
|
||||
|
||||
f_parse( pfcb_ptr );
|
||||
ret_code = _EXTERR;
|
||||
err_code = _SYSERR;
|
||||
if( ret_code == FPAR_ERR )
|
||||
{
|
||||
crlf();
|
||||
switch( err_code )
|
||||
{
|
||||
case 23 : /* bad drive */
|
||||
case 24 : /* bad name */
|
||||
case 25 : cpmerr( err06,0 ); /* bad type */
|
||||
putfname( pfcb_ptr->fcbaddr,0 );
|
||||
crlf();
|
||||
break;
|
||||
case 38 : cpmerr( err10,0 ); /* bad password */
|
||||
putfname( pfcb_ptr->fcbaddr,0 );
|
||||
crlf();
|
||||
break;
|
||||
default : break;
|
||||
}
|
||||
}
|
||||
return( ret_code ); /* return ptr to delimiter */
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user