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
06c28400
Commit
06c28400
authored
Dec 15, 2003
by
Wayne Davison
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
New "io_error" variable handling for RERR_VANISHED support.
parent
6e35c72f
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
23 additions
and
19 deletions
+23
-19
flist.c
flist.c
+9
-8
options.c
options.c
+0
-1
sender.c
sender.c
+14
-10
No files found.
flist.c
View file @
06c28400
...
...
@@ -58,7 +58,6 @@ extern int implied_dirs;
extern
int
copy_links
;
extern
int
copy_unsafe_links
;
extern
int
protocol_version
;
extern
int
io_error
;
extern
int
sanitize_paths
;
extern
int
read_batch
;
...
...
@@ -68,6 +67,8 @@ extern struct exclude_struct **exclude_list;
extern
struct
exclude_struct
**
server_exclude_list
;
extern
struct
exclude_struct
**
local_exclude_list
;
int
io_error
;
static
struct
file_struct
null_file
;
static
void
clean_flist
(
struct
file_list
*
flist
,
int
strip_root
,
int
no_dups
);
...
...
@@ -694,7 +695,7 @@ struct file_struct *make_file(char *fname, struct string_area **ap,
return
NULL
;
}
}
io_error
=
1
;
io_error
|=
IOERR_GENERAL
;
rprintf
(
FERROR
,
"readlink %s failed: %s
\n
"
,
full_fname
(
fname
),
strerror
(
save_errno
));
return
NULL
;
...
...
@@ -844,7 +845,7 @@ static void send_directory(int f, struct file_list *flist, char *dir)
d
=
opendir
(
dir
);
if
(
!
d
)
{
io_error
=
1
;
io_error
|=
IOERR_GENERAL
;
rprintf
(
FERROR
,
"opendir %s failed: %s
\n
"
,
full_fname
(
dir
),
strerror
(
errno
));
return
;
...
...
@@ -854,7 +855,7 @@ static void send_directory(int f, struct file_list *flist, char *dir)
l
=
strlen
(
fname
);
if
(
fname
[
l
-
1
]
!=
'/'
)
{
if
(
l
==
MAXPATHLEN
-
1
)
{
io_error
=
1
;
io_error
|=
IOERR_GENERAL
;
rprintf
(
FERROR
,
"skipping long-named directory: %s
\n
"
,
full_fname
(
fname
));
closedir
(
d
);
...
...
@@ -872,7 +873,7 @@ static void send_directory(int f, struct file_list *flist, char *dir)
strcpy
(
p
,
".cvsignore"
);
add_exclude_file
(
&
exclude_list
,
fname
,
MISSING_OK
,
ADD_EXCLUDE
);
}
else
{
io_error
=
1
;
io_error
|=
IOERR_GENERAL
;
rprintf
(
FINFO
,
"cannot cvs-exclude in long-named directory %s
\n
"
,
full_fname
(
fname
));
...
...
@@ -888,7 +889,7 @@ static void send_directory(int f, struct file_list *flist, char *dir)
send_file_name
(
f
,
flist
,
fname
,
recurse
,
0
);
}
if
(
errno
)
{
io_error
=
1
;
io_error
|=
IOERR_GENERAL
;
rprintf
(
FERROR
,
"readdir(%s): (%d) %s
\n
"
,
dir
,
errno
,
strerror
(
errno
));
}
...
...
@@ -963,7 +964,7 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
if
(
link_stat
(
fname
,
&
st
)
!=
0
)
{
if
(
f
!=
-
1
)
{
io_error
=
1
;
io_error
|=
IOERR_GENERAL
;
rprintf
(
FERROR
,
"link_stat %s failed: %s
\n
"
,
full_fname
(
fname
),
strerror
(
errno
));
}
...
...
@@ -1030,7 +1031,7 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
olddir
=
push_dir
(
dir
,
1
);
if
(
!
olddir
)
{
io_error
=
1
;
io_error
|=
IOERR_GENERAL
;
rprintf
(
FERROR
,
"push_dir %s failed: %s
\n
"
,
full_fname
(
dir
),
strerror
(
errno
));
continue
;
...
...
options.c
View file @
06c28400
...
...
@@ -62,7 +62,6 @@ int implied_dirs = 1;
int
numeric_ids
=
0
;
int
force_delete
=
0
;
int
io_timeout
=
0
;
int
io_error
=
0
;
int
read_only
=
0
;
int
module_id
=
-
1
;
int
am_server
=
0
;
...
...
sender.c
View file @
06c28400
...
...
@@ -162,7 +162,7 @@ void send_files(struct file_list *flist, int f_out, int f_in)
if
(
file
->
basedir
)
{
strlcpy
(
fname
,
file
->
basedir
,
MAXPATHLEN
);
if
(
strlen
(
fname
)
==
MAXPATHLEN
-
1
)
{
io_error
=
1
;
io_error
|=
IOERR_GENERAL
;
rprintf
(
FERROR
,
"send_files failed on long-named directory %s
\n
"
,
full_fname
(
fname
));
return
;
...
...
@@ -187,7 +187,7 @@ void send_files(struct file_list *flist, int f_out, int f_in)
s
=
receive_sums
(
f_in
);
if
(
!
s
)
{
io_error
=
1
;
io_error
|=
IOERR_GENERAL
;
rprintf
(
FERROR
,
"receive_sums failed
\n
"
);
return
;
}
...
...
@@ -198,16 +198,22 @@ void send_files(struct file_list *flist, int f_out, int f_in)
if
(
!
read_batch
)
{
fd
=
do_open
(
fname
,
O_RDONLY
,
0
);
if
(
fd
==
-
1
)
{
io_error
=
1
;
rprintf
(
FERROR
,
"send_files failed to open %s: %s
\n
"
,
full_fname
(
fname
),
strerror
(
errno
));
if
(
errno
==
ENOENT
)
{
io_error
|=
IOERR_VANISHED
;
rprintf
(
FINFO
,
"file has vanished: %s
\n
"
,
full_fname
(
fname
));
}
else
{
io_error
|=
IOERR_GENERAL
;
rprintf
(
FERROR
,
"send_files failed to open %s: %s
\n
"
,
full_fname
(
fname
),
strerror
(
errno
));
}
free_sums
(
s
);
continue
;
}
/* map the local file */
if
(
do_fstat
(
fd
,
&
st
)
!=
0
)
{
io_error
=
1
;
io_error
|=
IOERR_GENERAL
;
rprintf
(
FERROR
,
"fstat failed: %s
\n
"
,
strerror
(
errno
));
free_sums
(
s
);
close
(
fd
);
...
...
@@ -286,12 +292,10 @@ void send_files(struct file_list *flist, int f_out, int f_in)
if
(
buf
)
{
j
=
unmap_file
(
buf
);
if
(
j
)
{
io_error
=
1
;
io_error
|=
IOERR_GENERAL
;
rprintf
(
FERROR
,
"read errors mapping %s: (%d) %s
\n
"
,
full_fname
(
fname
),
j
,
strerror
(
j
));
full_fname
(
fname
),
j
,
strerror
(
j
));
}
}
close
(
fd
);
...
...
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