[comp.os.cpm] Search for First in CP/M BDOS

") (07/05/89)

A quick question...

Does the "Search for First" function (#17) in the BDOS call
accept wildcards as FCB entries?  Should the caller convert
*'s to ???'s, or does the BDOS take care of that?

IF BDOS accepts '*' , does it accept it even if it is NOT the last character?

Thank you very much.

               - John Shin

bobc@attctc.DALLAS.TX.US (Bob Calbridge) (07/07/89)

In article <8907060704.AA26910@ucbvax.Berkeley.EDU>, JSHIN@HAMPVMS.BITNET ("Hey, I'm from Korea, too!") writes:
` 
` A quick question...
` 
` Does the "Search for First" function (#17) in the BDOS call
` accept wildcards as FCB entries?  Should the caller convert
` *'s to ???'s, or does the BDOS take care of that?
` 
` IF BDOS accepts '*' , does it accept it even if it is NOT the last character?
` 
` Thank you very much.
` 
`                - John Shin


Its been a while since I've done any programming using FINDFIRST but as I 
remember you do need to place the '?'s in the FCB.  I seem to recall that
the parsing function (152?) could help to expand the '*'s if you are using
CP/M 3.0.

Bob

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=             I know it's petty..........                                     =
-                  But I have to justify my salary!                           -
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

josef@ugun13.UUCP (07/08/89)

 > Does the "Search for First" function (#17) in the BDOS call
 > accept wildcards as FCB entries?  Should the caller convert
 > *'s to ???'s, or does the BDOS take care of that?

 > IF BDOS accepts '*' , does it accept it even if it is NOT the last character?

From "CP/M Operating System Manual" (Digital Research):

"An ASCII question mark (63 decimal, 3F hexadecimal) in any position
 from f1 [First character of file name] through ex [Extent byte] matches
 the corresponding field of any directory entry on the default or
 auto-selected disk drive
"
So, I think a '*' is not allowed and the caller should have expanded it
to '?'s.

Usually, the '*' is considered the last character of the respective part
(filename and/or extension), so
	a*.ext	is converted to	a???????.ext
		as are
	a*ything.ext
	a*******.ext

	a*.b*	is converted to a???????.b??

		Josef Moellers

	paper mail:			e-mail:
c/o Nixdorf Computer AG		USA:  uunet!linus!nixbur!mollers.pad
Abt. DX-SC 1			!USA: mcvax!unido!nixpbe!mollers.pad
Heinz-Nixdorf-Ring			Phone:
D-4790 Paderborn		(+49) 5251 104691
+-----------------------------------------------------------------------+
| "Many that live deserve death. And some that die deserve life.	|
|  Can You give it to them? Then do not be too eager to deal out	|
|  death in judgement"							|
|			Gandalf to Frodo in "The Fellowship of the Ring"|
+-----------------------------------------------------------------------+