[comp.sys.amiga.tech] ARP-filerequester - wildcards

hessmann@unipas.fmi.uni-passau.de (Georg Hessmann) (03/01/90)

Hello,

I have some trouble with the ARP-filerequester and it's
wildcardfunction.

I initialize the filerequest structure with the following function:

void init_fr()
{
  void (*func)();
  
  func = (void *)&fr_func;
  file_req = ArpAllocFreq();
  if (file_req == NULL) exit(10);
  file_req->fr_Hail = "Load new DVI-File:";
  file_req->fr_FuncFlags |= FRF_Do_WildFunc;
  file_req->fr_Function = func;
}

My wildcard-function looks like:

long __stdargs fr_func(mask,object)
  LONGBITS mask;
  CPTR object;
{
  struct FileInfoBlock *fib = (struct FileInfoBlock *)object;
  char hptr;
  
  if (mask != FRF_DoWildFunc) return 0L;	/* never occures */
  
  if (fib->fib_EntryType >0) return 0L;		/* directory */
  hptr = strrchr(fib->fib_FileName,'.');
  if (hptr == NULL) return 1L;
  if (strcmp(hptr,".dvi")) return 1L;
  return 0L;
}

This function will be called for every file and
the mask is correctly set to FRF_WildFunc. But the object pointer
doesn't point to a FileInfoBlock structure.

What's wrong??

I have ARP-version 39.1 and the size of the arp.library is 17100 bytes.

Thanks
  Georg.
  
-- 
  hessmann@unipas.fmi.uni-passau.de		hessmann@unipas.uucp