aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--networking/tftp.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/networking/tftp.c b/networking/tftp.c
index fa0851615..9c78b6e14 100644
--- a/networking/tftp.c
+++ b/networking/tftp.c
@@ -589,10 +589,15 @@ int tftp_main(int argc UNUSED_PARAM, char **argv)
}
#endif
- if (!local_file)
- local_file = remote_file;
- if (!remote_file)
+ if (remote_file) {
+ if (!local_file) {
+ const char *slash = strrchr(remote_file, '/');
+ local_file = slash ? slash + 1 : remote_file;
+ }
+ } else {
remote_file = local_file;
+ }
+
/* Error if filename or host is not known */
if (!remote_file || !argv[0])
bb_show_usage();