2 Copyright © 1995-2013, 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
)
30 Searches for the first file or directory that matches a given pattern.
31 MatchFirst() initializes the AnchorPath structure for you but you
32 must initilize the following fields: ap_Flags, ap_Strlen, ap_BreakBits
33 and ap_FoundBreak. The first call to MatchFirst() also passes you
34 the first matching file, which you can examine in ap_Info, and
35 the directory the file is in, in ap_Current->an_Lock. After the first
36 call to MatchFirst(), call MatchNext(). The search begins wherever the
37 current directory is set to (see CurrentDir()). For more info on
38 patterns, see ParsePattern().
41 pat - pattern to search for
42 AP - pointer to (initilized) AnchorPath structure
46 other = DOS error code
55 MatchNext(), MatchEnd(), ParsePattern(), Examine(), CurrentDir()
60 *****************************************************************************/
71 error
= Match_BuildAChainList(pat
, AP
, &ac
, DOSBase
);
74 AP
->ap_Base
= AP
->ap_Current
= ac
;
76 error
= MatchNext(AP
);
78 } /* if (error == 0) */