Blame cpio-2.10-longnames-split.patch
|
Pavel Raiskup |
65fa93 |
diff --git a/src/tar.c b/src/tar.c
|
|
Pavel Raiskup |
65fa93 |
index 97d74bc..6de8961 100644
|
|
Pavel Raiskup |
65fa93 |
--- a/src/tar.c
|
|
Pavel Raiskup |
65fa93 |
+++ b/src/tar.c
|
|
Pavel Raiskup |
65fa93 |
@@ -48,10 +48,12 @@ split_long_name (const char *name, size_t length)
|
|
Pavel Raiskup |
65fa93 |
{
|
|
Pavel Raiskup |
65fa93 |
size_t i;
|
|
Pavel Raiskup |
65fa93 |
|
|
Pavel Raiskup |
65fa93 |
- if (length > TARPREFIXSIZE)
|
|
Pavel Raiskup |
65fa93 |
- length = TARPREFIXSIZE+2;
|
|
Pavel Raiskup |
65fa93 |
+ if (length > TARPREFIXSIZE + 1)
|
|
Pavel Raiskup |
65fa93 |
+ length = TARPREFIXSIZE + 1;
|
|
Pavel Raiskup |
65fa93 |
+ else if (ISSLASH (name[length - 1]))
|
|
Pavel Raiskup |
65fa93 |
+ length--;
|
|
Pavel Raiskup |
65fa93 |
for (i = length - 1; i > 0; i--)
|
|
Pavel Raiskup |
65fa93 |
- if (name[i] == '/')
|
|
Pavel Raiskup |
65fa93 |
+ if (ISSLASH (name[i]))
|
|
Pavel Raiskup |
65fa93 |
break;
|
|
Pavel Raiskup |
65fa93 |
return i;
|
|
Pavel Raiskup |
65fa93 |
}
|