/*  getdirs.c  -- (part of efr)  Copyright © 1989 by William F. Hammond  */
/*             -- get user instructions from reader window               */
#ifndef TDM_H
#include "tdm.h"
#endif
/*********************************************************************/
UBYTE getdirs(dstr, skipptr)
UBYTE *dstr;        /*  prompt string pointer            */
WORD *skipptr;  /*  for return info                  */
{
struct IntuiMessage *msg;
static UBYTE smallprompt[] = " Skip N = ";
UBYTE gdch;
ULONG flags;
WORD gskip;
int dsl;
gdch = '\0';
savestyle = SetSoftStyle(rp, (ULONG)FS_NORMAL, enable);
while (gdch == '\0')   /*  this loop enables some input rejection  */
   {
   gskip = 0;
   SetDrMd(rp, (LONG)JAM2);
   Move(rp, 0L, (LONG)maxrowpix);
   ClearScreen(rp);
   SetDrMd(rp, (LONG)(JAM2|INVERSVID));
   dsl = strlen(dstr);
   Text(rp, dstr, (LONG)dsl);
   flags = VANILLAKEY;
   Wait(1L << mw->UserPort->mp_SigBit);
   while(msg = (struct IntuiMessage *)GetMsg(mw->UserPort))
      {
      if(msg->Class == VANILLAKEY) gdch = (UBYTE)msg->Code;
      ReplyMsg(msg);
      }
   if(gdch == CTRL_C) gdch = 'q';   
   if ( (gdch | 0x20) == 's')
      {
      gdch = 's';         /*  simplify further testing  */
      gskip = (WORD)(numget(smallprompt));
      }
   if ((gdch == 's') && (gskip == 0)) gdch = '\0';      /*refuse zero skip*/
   }  /***  loop (gdch == '\0')  ***/
Move(rp, 0L, (LONG)maxrowpix);
ClearScreen(rp);
*skipptr = gskip;
return gdch;
}
