diff options
author | Siri Hansen <[email protected]> | 2011-07-01 10:35:22 +0200 |
---|---|---|
committer | Siri Hansen <[email protected]> | 2011-07-01 10:35:22 +0200 |
commit | 22a909596393ac301f091c93bce7105963c12aa1 (patch) | |
tree | 8340afdf449ab3184aaf83676e3dca88b3504326 /lib/sasl | |
parent | 97d138b3c0e47e4439333a80efa3493a2c630154 (diff) | |
parent | e909414b27ab8ea36c4f4fec4779a244434c91f4 (diff) | |
download | otp-22a909596393ac301f091c93bce7105963c12aa1.tar.gz otp-22a909596393ac301f091c93bce7105963c12aa1.tar.bz2 otp-22a909596393ac301f091c93bce7105963c12aa1.zip |
Merge branch 'dev' into major
Diffstat (limited to 'lib/sasl')
-rw-r--r-- | lib/sasl/src/systools_lib.erl | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/lib/sasl/src/systools_lib.erl b/lib/sasl/src/systools_lib.erl index b652c109fe..f951647b79 100644 --- a/lib/sasl/src/systools_lib.erl +++ b/lib/sasl/src/systools_lib.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1996-2009. All Rights Reserved. +%% Copyright Ericsson AB 1996-2011. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -176,21 +176,26 @@ add_dirs(RegName, Dirs, Root) -> regexp_match(RegName, D0, Root) -> case file:list_dir(D0) of {ok, Files} when length(Files) > 0 -> - FR = fun(F) -> - case regexp:match(F, RegName) of - {match,1,N} when N == length(F) -> - DirF = join(D0, F, Root), - case dir_p(DirF) of - true -> - {true, DirF}; + case re:compile(RegName) of + {ok, MP} -> + FR = fun(F) -> + case re:run(F, MP) of + {match,[{0,N}]} when N == length(F) -> + DirF = join(D0, F, Root), + case dir_p(DirF) of + true -> + {true, DirF}; + _ -> + false + end; _ -> false - end; - _ -> - false - end - end, - {true,lists:zf(FR, Files)}; + end + end, + {true,lists:zf(FR, Files)}; + _ -> + false + end; _ -> false end. |