home *** CD-ROM | disk | FTP | other *** search
-
- #include "metab.h"
- extern FILE * kbdmf;
- extern FILE * ffp;
- extern int kbdmstate;
- extern int ovreq, ovreq2, ovsub, ovsub2;
- extern char Argbuf[128];
-
- ovmain( x, f, n )
- {
- switch ( x )
- { case 0:
- { /* start keyboard macro */
- if ( kbdmf != NULL || ffptest() || kbdmstate != 0 )
- {
- notnow: mlwrite("Not Now");
- return (FALSE);
- }
- strcpy( Argbuf, "KY+BD+MC.KBM" );
- /***********************kbdmf = fopen( "KY+BD+MC.KBM", "w" ); */
- ovreq = 33;
- ovsub2 = 3;
- ret29: ovreq2 = 29;
- rettrue: return ( 1 );
- } /* end case 1 */
- case 3:
- { /* continue from case 1 */
- kbdmf = ffp;
- ffp = NULL;
- if ( kbdmf == NULL )
- {
- retbeep: return ( ctrlg());
- }
- mlwrite("[StartMac]");
- kbdmstate = 1;
- goto rettrue;
- } /* end case 3 */
- case 1:
- { /* end macro */
- if ( kbdmf == NULL || ffptest() ||
- ( kbdmstate != 1 && kbdmstate != 2 ))
- { goto notnow;
- }
- fclose( kbdmf );
- kbdmstate = 0;
- mlwrite( ( kbdmstate == 1 )
- ? "[EndMac]" : "[MacDone]" );
- kbdmf = NULL;
- goto rettrue;
- } /* end case 1 */
- case 2:
- { /* execute macro */
- if ( kbdmf != NULL || ffptest() || kbdmstate != 0 )
- { goto notnow;
- }
- strcpy( Argbuf, "KY+BD+MC.KBM" );
- ovreq = 32;
- ovsub2 = 4;
- goto ret29;
- }
- case 4:
- { /* continue case 2 */
- kbdmf = ffp;
- ffp = NULL;
- if ( kbdmf == NULL )
- { goto retbeep;
- }
- kbdmstate = 2;
- goto rettrue;
- }
- }
- }
- ffptest()
- { if ( ffp == NULL ) return ( 0 );
- return ( ffp->_flags );
- }