*** Elm113/rtsup.c Sat Mar 14 21:22:00 1992 --- new/rtsup.c Fri May 08 17:56:51 1992 *************** *** 12,21 **** #include #include #endif ! struct ReqToolsBase *ReqToolsBase = NULL; Prototype void OpenReqToolsLib(void); Prototype void CloseReqToolsLib(void); --- 12,33 ---- #include #include #endif + #ifdef DICE + #include + #include + #include + #endif + #ifdef KDFREQ + #include + #include ! struct Library *KD_FReqBase = NULL; ! static struct FRequest *kd_f_requester = NULL; ! #endif + struct ReqToolsBase *ReqToolsBase = NULL; + Prototype void OpenReqToolsLib(void); Prototype void CloseReqToolsLib(void); *************** *** 30,35 **** --- 42,54 ---- void OpenReqToolsLib(void) { ReqToolsBase=(struct ReqToolsBase *)OpenLibrary("reqtools.library",37L); + #ifdef KDFREQ + if (KD_FReqBase = OpenLibrary(KLIBNAME,KLIBVERSION)) { + if (kd_f_requester = CreateFRequest()) { + kd_f_requester->reqtitle = (UBYTE *) "Pick a file"; + } + } + #endif } *************** *** 39,44 **** --- 58,69 ---- if (ReqToolsBase) CloseLibrary((struct Library *)ReqToolsBase); ReqToolsBase = NULL; + #ifdef KDFREQ + if (kd_f_requester) + DeleteFRequest(kd_f_requester); + if (KD_FReqBase) + CloseLibrary(KD_FReqBase); + #endif } *************** *** 70,75 **** --- 95,115 ---- BPTR oldlock,newlock; char filename[109]; + #ifdef KDFREQ + char *selected_file; + if (kd_f_requester) { + if (strcmp(dir, kd_f_requester->directory)) { + strcpy(kd_f_requester->directory, dir); + strcpy(kd_f_requester->filename, file); + } + if (selected_file = (char *)NewFReq(kd_f_requester)) { + strcpy(res, selected_file); + return(TRUE); + } else { + return(FALSE); + } + } + #endif if (ReqToolsBase) { if (strlen(dir)>0) { if (newlock=Lock(dir,SHARED_LOCK))