2 Copyright © 1995-2001, 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(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 the directory
36 the files is in in ap_Current->an_Lock. After the first call to
37 MatchFirst() call MatchNext().
38 The search begins whereever the current directory is set to. See
40 For more info on patterns see ParsePattern().
43 pat - pattern to search for
44 AP - pointer to (initilized) AnchorPath structure
48 other = DOS error code
57 MatchNext(), MatchEnd(), ParsePattern(), Examine(), CurrentDir()
62 *****************************************************************************/
65 AROS_LIBBASE_EXT_DECL(struct DosLibrary
*,DOSBase
)
74 error
= Match_BuildAChainList(pat
, AP
, &ac
, DOSBase
);
77 AP
->ap_Base
= AP
->ap_Current
= ac
;
79 error
= MatchNext(AP
);
81 } /* if (error == 0) */