Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liblongpath-rsync
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liblongpath
liblongpath-rsync
Commits
fe332038
Commit
fe332038
authored
Jul 30, 2003
by
Wayne Davison
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Call wildmatch(), not fnmatch().
parent
3c0b1ebf
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
6 additions
and
15 deletions
+6
-15
access.c
access.c
+1
-1
authenticate.c
authenticate.c
+1
-1
exclude.c
exclude.c
+3
-12
token.c
token.c
+1
-1
No files found.
access.c
View file @
fe332038
...
...
@@ -27,7 +27,7 @@
static
int
match_hostname
(
char
*
host
,
char
*
tok
)
{
if
(
!
host
||
!*
host
)
return
0
;
return
(
fnmatch
(
tok
,
host
,
0
)
==
0
);
return
wildmatch
(
tok
,
host
);
}
static
int
match_binary
(
char
*
b1
,
char
*
b2
,
char
*
mask
,
int
addrlen
)
...
...
authenticate.c
View file @
fe332038
...
...
@@ -239,7 +239,7 @@ char *auth_server(int f_in, int f_out, int module, char *addr, char *leader)
if
(
!
users
)
return
NULL
;
for
(
tok
=
strtok
(
users
,
" ,
\t
"
);
tok
;
tok
=
strtok
(
NULL
,
" ,
\t
"
))
{
if
(
fnmatch
(
tok
,
user
,
0
)
==
0
)
break
;
if
(
wildmatch
(
tok
,
user
)
)
break
;
}
free
(
users
);
...
...
exclude.c
View file @
fe332038
...
...
@@ -70,12 +70,6 @@ static struct exclude_struct *make_exclude(const char *pattern, int include)
if
(
strpbrk
(
pattern
,
"*[?"
))
{
ret
->
match_flags
|=
MATCHFLG_WILD
;
if
(
strstr
(
pattern
,
"**"
))
{
static
int
tested
;
if
(
!
tested
)
{
tested
=
1
;
if
(
fnmatch
(
"a/b/*"
,
"a/b/c/d"
,
FNM_PATHNAME
)
==
0
)
rprintf
(
FERROR
,
"WARNING: fnmatch FNM_PATHNAME is broken on your system
\n
"
);
}
ret
->
match_flags
|=
MATCHFLG_WILD2
;
/* If the pattern starts with **, note that. */
if
(
*
pattern
==
'*'
&&
pattern
[
1
]
==
'*'
)
...
...
@@ -155,8 +149,6 @@ static int check_one_exclude(char *name, struct exclude_struct *ex,
}
if
(
ex
->
match_flags
&
MATCHFLG_WILD
)
{
int
fnmatch_flags
=
(
ex
->
match_flags
&
MATCHFLG_WILD2
)
?
0
:
FNM_PATHNAME
;
/* A non-anchored match with an infix slash and no "**"
* needs to match the last slash_cnt+1 name elements. */
if
(
!
match_start
&&
ex
->
slash_cnt
&&
...
...
@@ -168,14 +160,13 @@ static int check_one_exclude(char *name, struct exclude_struct *ex,
}
name
=
p
+
1
;
}
if
(
fnmatch
(
pattern
,
name
,
fnmatch_flags
)
==
0
)
if
(
wildmatch
(
pattern
,
name
)
)
return
1
;
if
(
ex
->
match_flags
&
MATCHFLG_WILD2_PREFIX
)
{
/* If the **-prefixed pattern has a '/' as the next
* character, then try to match the rest of the
* pattern at the root. */
if
(
pattern
[
2
]
==
'/'
&&
fnmatch
(
pattern
+
3
,
name
,
fnmatch_flags
)
==
0
)
if
(
pattern
[
2
]
==
'/'
&&
wildmatch
(
pattern
+
3
,
name
))
return
1
;
}
else
if
(
!
match_start
&&
ex
->
match_flags
&
MATCHFLG_WILD2
)
{
...
...
@@ -184,7 +175,7 @@ static int check_one_exclude(char *name, struct exclude_struct *ex,
* after every slash. */
while
((
name
=
strchr
(
name
,
'/'
))
!=
NULL
)
{
name
++
;
if
(
fnmatch
(
pattern
,
name
,
fnmatch_flags
)
==
0
)
if
(
wildmatch
(
pattern
,
name
)
)
return
1
;
}
}
...
...
token.c
View file @
fe332038
...
...
@@ -51,7 +51,7 @@ void set_compression(char *fname)
strlower
(
fname
);
for
(
tok
=
strtok
(
dont
,
" "
);
tok
;
tok
=
strtok
(
NULL
,
" "
))
{
if
(
fnmatch
(
tok
,
fname
,
0
)
==
0
)
{
if
(
wildmatch
(
tok
,
fname
)
)
{
compression_level
=
0
;
break
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment