2 Copyright © 1995-2008, The AROS Development Team. All rights reserved.
8 #include "dos_intern.h"
9 #include <proto/exec.h>
10 #include <exec/memory.h>
11 #include <exec/types.h>
14 /*****************************************************************************
17 #include <dos/dosasl.h>
18 #include <proto/dos.h>
20 AROS_LH2(LONG
, MatchFirst
,
23 AROS_LHA(CONST_STRPTR
, pat
, D1
),
24 AROS_LHA(struct AnchorPath
*, AP
, D2
),
27 struct DosLibrary
*, DOSBase
, 137, Dos
)
31 Searches for the first file or directory that matches a given pattern.
32 MatchFirst() initializes the AnchorPath structure for you but you
33 must initilize the following fields: ap_Flags, ap_Strlen, ap_BreakBits
34 and ap_FoundBreak. The first call to MatchFirst() also passes you
35 the first matching file, which you can examine in ap_Info, and
36 the directory the file is in, in ap_Current->an_Lock. After the first
37 call to MatchFirst(), call MatchNext(). The search begins wherever the
38 current directory is set to (see CurrentDir()). For more info on
39 patterns, see ParsePattern().
42 pat - pattern to search for
43 AP - pointer to (initilized) AnchorPath structure
47 other = DOS error code
56 MatchNext(), MatchEnd(), ParsePattern(), Examine(), CurrentDir()
61 *****************************************************************************/
72 error
= Match_BuildAChainList(pat
, AP
, &ac
, DOSBase
);
75 AP
->ap_Base
= AP
->ap_Current
= ac
;
77 error
= MatchNext(AP
);
79 } /* if (error == 0) */