@@ -136,8 +136,7 @@ for srci in xrange(0, src_args):
srcname = os.path.join(dirpath, x)
statinfo = os.lstat(srcname)
- if srcname.startswith(src):
- part = srcname[len(src) + 1:]
+ part = os.path.relpath(srcname, src)
if stat.S_ISLNK(statinfo.st_mode):
copylink(srcname, dst, part, statinfo, None)
@@ -152,8 +151,7 @@ for srci in xrange(0, src_args):
for f in filenames:
srcname = os.path.join(dirpath, f)
- if srcname.startswith(src):
- part = srcname[len(src) + 1:]
+ part = os.path.relpath(srcname, src)
statinfo = os.lstat(srcname)
copyfile(srcname, dst, part, statinfo, None)
Bcp was assuming that a path on the command line would never have a slash after it, which is silly, and would cause the first letter of everything in the root of the source to be truncated. Instead, use os.path.relpath to handle it properly. Signed-off-by: Carey Underwood <cwillu@cwillu.com> --- bcp | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-)