+++ /dev/null
-diff --git a/src/common.h b/src/common.h
-index eb801bb..4aaace5 100644
---- a/src/common.h
-+++ b/src/common.h
-@@ -907,4 +907,6 @@ void finish_deferred_unlinks (void);
- /* Module exit.c */
- extern void (*fatal_exit_hook) (void);
-
-+GLOBAL int debian_longlink_hack;
-+
- _GL_INLINE_HEADER_END
-diff --git a/src/create.c b/src/create.c
-index e14e13d..3a84c79 100644
---- a/src/create.c
-+++ b/src/create.c
-@@ -27,6 +27,8 @@
- #include "common.h"
- #include <hash.h>
-
-+extern int debian_longlink_hack;
-+
- /* Error number to use when an impostor is discovered.
- Pretend the impostor isn't there. */
- enum { IMPOSTOR_ERRNO = ENOENT };
-@@ -724,7 +726,7 @@ write_header_name (struct tar_stat_info *st)
- return write_short_name (st);
- }
- else if (NAME_FIELD_SIZE - (archive_format == OLDGNU_FORMAT)
-- < strlen (st->file_name))
-+ < strlen (st->file_name) + debian_longlink_hack)
- return write_long_name (st);
- else
- return write_short_name (st);
-@@ -1476,7 +1478,7 @@ dump_hard_link (struct tar_stat_info *st)
- block_ordinal = current_block_ordinal ();
- assign_string (&st->link_name, link_name);
- if (NAME_FIELD_SIZE - (archive_format == OLDGNU_FORMAT)
-- < strlen (link_name))
-+ < strlen (link_name) + debian_longlink_hack)
- write_long_link (st);
-
- st->stat.st_size = 0;
-diff --git a/src/tar.c b/src/tar.c
-index 4f5017d..e9a5126 100644
---- a/src/tar.c
-+++ b/src/tar.c
-@@ -1246,6 +1246,16 @@ expand_pax_option (struct tar_args *targs, const char *arg)
- return res;
- }
-
-+/* Debian specific environment variable used by pristine-tar to enable use of
-+ * longlinks for filenames exactly 100 bytes long. */
-+void debian_longlink_hack_init () {
-+ char *s=getenv ("TAR_LONGLINK_100");
-+ if (s && strcmp(s, "1") == 0)
-+ debian_longlink_hack=1;
-+ else
-+ debian_longlink_hack=0;
-+}
-+
- \f
- static uintmax_t
- parse_owner_group (char *arg, uintmax_t field_max, char const **name_option)
-@@ -2626,6 +2636,8 @@ main (int argc, char **argv)
- filename_terminator = '\n';
- set_quoting_style (0, DEFAULT_QUOTING_STYLE);
-
-+ debian_longlink_hack_init ();
-+
- /* Make sure we have first three descriptors available */
- stdopen ();
-
--- /dev/null
+diff --git a/src/common.h b/src/common.h
+index eb801bb..30f8cf5 100644
+--- a/src/common.h
++++ b/src/common.h
+@@ -907,4 +907,7 @@ void finish_deferred_unlinks (void);
+ /* Module exit.c */
+ extern void (*fatal_exit_hook) (void);
+
++GLOBAL int debian_longlink_hack;
++GLOBAL int pristine_tar_compat;
++
+ _GL_INLINE_HEADER_END
+diff --git a/src/create.c b/src/create.c
+index e14e13d..d6e8ea7 100644
+--- a/src/create.c
++++ b/src/create.c
+@@ -27,6 +27,9 @@
+ #include "common.h"
+ #include <hash.h>
+
++extern int debian_longlink_hack;
++extern int pristine_tar_compat;
++
+ /* Error number to use when an impostor is discovered.
+ Pretend the impostor isn't there. */
+ enum { IMPOSTOR_ERRNO = ENOENT };
+@@ -534,6 +537,11 @@ write_short_name (struct tar_stat_info *st)
+ return header;
+ }
+
++#define FILL(field,byte) do { \
++ memset(field, byte, sizeof(field)-1); \
++ (field)[sizeof(field)-1] = 0; \
++} while (0)
++
+ /* Write a GNUTYPE_LONGLINK or GNUTYPE_LONGNAME block. */
+ static void
+ write_gnu_long_link (struct tar_stat_info *st, const char *p, char type)
+@@ -544,6 +552,10 @@ write_gnu_long_link (struct tar_stat_info *st, const char *p, char type)
+ char *tmpname;
+
+ header = start_private_header ("././@LongLink", size, start_time.tv_sec);
++ if (pristine_tar_compat) {
++ FILL (header->header.mtime, '0');
++ FILL (header->header.mode, '0');
++ }
+ uid_to_uname (0, &tmpname);
+ UNAME_TO_CHARS (tmpname, header->header.uname);
+ free (tmpname);
+@@ -724,7 +736,7 @@ write_header_name (struct tar_stat_info *st)
+ return write_short_name (st);
+ }
+ else if (NAME_FIELD_SIZE - (archive_format == OLDGNU_FORMAT)
+- < strlen (st->file_name))
++ < strlen (st->file_name) + debian_longlink_hack)
+ return write_long_name (st);
+ else
+ return write_short_name (st);
+@@ -1476,7 +1488,7 @@ dump_hard_link (struct tar_stat_info *st)
+ block_ordinal = current_block_ordinal ();
+ assign_string (&st->link_name, link_name);
+ if (NAME_FIELD_SIZE - (archive_format == OLDGNU_FORMAT)
+- < strlen (link_name))
++ < strlen (link_name) + debian_longlink_hack)
+ write_long_link (st);
+
+ st->stat.st_size = 0;
+diff --git a/src/tar.c b/src/tar.c
+index 4f5017d..b72e25b 100644
+--- a/src/tar.c
++++ b/src/tar.c
+@@ -1246,6 +1246,26 @@ expand_pax_option (struct tar_args *targs, const char *arg)
+ return res;
+ }
+
++/* Debian specific environment variable used by pristine-tar to enable use of
++ * longlinks for filenames exactly 100 bytes long. */
++void debian_longlink_hack_init (void) {
++ char *s=getenv ("TAR_LONGLINK_100");
++ if (s && strcmp(s, "1") == 0)
++ debian_longlink_hack=1;
++ else
++ debian_longlink_hack=0;
++}
++
++/* pristine-tar sets this environment variable to force fields in longlinks
++ * to be zeroed as was the case in tar 1.26. */
++void pristine_tar_compat_init (void) {
++ char *s=getenv ("PRISTINE_TAR_COMPAT");
++ if (s && strcmp(s, "1") == 0)
++ pristine_tar_compat=1;
++ else
++ pristine_tar_compat=0;
++}
++
+ \f
+ static uintmax_t
+ parse_owner_group (char *arg, uintmax_t field_max, char const **name_option)
+@@ -2626,6 +2646,9 @@ main (int argc, char **argv)
+ filename_terminator = '\n';
+ set_quoting_style (0, DEFAULT_QUOTING_STYLE);
+
++ debian_longlink_hack_init ();
++ pristine_tar_compat_init ();
++
+ /* Make sure we have first three descriptors available */
+ stdopen ();
+
+++ /dev/null
-From e36454201ec81374bf4d2d09877e6c345a6fddab Mon Sep 17 00:00:00 2001
-From: Joey Hess <joeyh@debian.org>
-Date: Sun, 27 Oct 2013 13:16:52 -0400
-Subject: [PATCH] add PRISTINE_TAR_COMPAT
-
----
- debian/patches/longlink-hack.diff | 72 -------------------------
- debian/patches/pristine-tar.diff | 108 ++++++++++++++++++++++++++++++++++++++
- debian/patches/series | 2 +-
- 3 files changed, 109 insertions(+), 73 deletions(-)
- delete mode 100644 debian/patches/longlink-hack.diff
- create mode 100644 debian/patches/pristine-tar.diff
-
-diff --git a/debian/patches/longlink-hack.diff b/debian/patches/longlink-hack.diff
-deleted file mode 100644
-index b6bc385..0000000
---- a/debian/patches/longlink-hack.diff
-+++ /dev/null
-@@ -1,72 +0,0 @@
--diff --git a/src/common.h b/src/common.h
--index eb801bb..4aaace5 100644
----- a/src/common.h
--+++ b/src/common.h
--@@ -907,4 +907,6 @@ void finish_deferred_unlinks (void);
-- /* Module exit.c */
-- extern void (*fatal_exit_hook) (void);
--
--+GLOBAL int debian_longlink_hack;
--+
-- _GL_INLINE_HEADER_END
--diff --git a/src/create.c b/src/create.c
--index e14e13d..3a84c79 100644
----- a/src/create.c
--+++ b/src/create.c
--@@ -27,6 +27,8 @@
-- #include "common.h"
-- #include <hash.h>
--
--+extern int debian_longlink_hack;
--+
-- /* Error number to use when an impostor is discovered.
-- Pretend the impostor isn't there. */
-- enum { IMPOSTOR_ERRNO = ENOENT };
--@@ -724,7 +726,7 @@ write_header_name (struct tar_stat_info *st)
-- return write_short_name (st);
-- }
-- else if (NAME_FIELD_SIZE - (archive_format == OLDGNU_FORMAT)
--- < strlen (st->file_name))
--+ < strlen (st->file_name) + debian_longlink_hack)
-- return write_long_name (st);
-- else
-- return write_short_name (st);
--@@ -1476,7 +1478,7 @@ dump_hard_link (struct tar_stat_info *st)
-- block_ordinal = current_block_ordinal ();
-- assign_string (&st->link_name, link_name);
-- if (NAME_FIELD_SIZE - (archive_format == OLDGNU_FORMAT)
--- < strlen (link_name))
--+ < strlen (link_name) + debian_longlink_hack)
-- write_long_link (st);
--
-- st->stat.st_size = 0;
--diff --git a/src/tar.c b/src/tar.c
--index 4f5017d..e9a5126 100644
----- a/src/tar.c
--+++ b/src/tar.c
--@@ -1246,6 +1246,16 @@ expand_pax_option (struct tar_args *targs, const char *arg)
-- return res;
-- }
--
--+/* Debian specific environment variable used by pristine-tar to enable use of
--+ * longlinks for filenames exactly 100 bytes long. */
--+void debian_longlink_hack_init () {
--+ char *s=getenv ("TAR_LONGLINK_100");
--+ if (s && strcmp(s, "1") == 0)
--+ debian_longlink_hack=1;
--+ else
--+ debian_longlink_hack=0;
--+}
--+
-- \f
-- static uintmax_t
-- parse_owner_group (char *arg, uintmax_t field_max, char const **name_option)
--@@ -2626,6 +2636,8 @@ main (int argc, char **argv)
-- filename_terminator = '\n';
-- set_quoting_style (0, DEFAULT_QUOTING_STYLE);
--
--+ debian_longlink_hack_init ();
--+
-- /* Make sure we have first three descriptors available */
-- stdopen ();
--
-diff --git a/debian/patches/pristine-tar.diff b/debian/patches/pristine-tar.diff
-new file mode 100644
-index 0000000..f350acc
---- /dev/null
-+++ b/debian/patches/pristine-tar.diff
-@@ -0,0 +1,108 @@
-+diff --git a/src/common.h b/src/common.h
-+index eb801bb..30f8cf5 100644
-+--- a/src/common.h
-++++ b/src/common.h
-+@@ -907,4 +907,7 @@ void finish_deferred_unlinks (void);
-+ /* Module exit.c */
-+ extern void (*fatal_exit_hook) (void);
-+
-++GLOBAL int debian_longlink_hack;
-++GLOBAL int pristine_tar_compat;
-++
-+ _GL_INLINE_HEADER_END
-+diff --git a/src/create.c b/src/create.c
-+index e14e13d..d6e8ea7 100644
-+--- a/src/create.c
-++++ b/src/create.c
-+@@ -27,6 +27,9 @@
-+ #include "common.h"
-+ #include <hash.h>
-+
-++extern int debian_longlink_hack;
-++extern int pristine_tar_compat;
-++
-+ /* Error number to use when an impostor is discovered.
-+ Pretend the impostor isn't there. */
-+ enum { IMPOSTOR_ERRNO = ENOENT };
-+@@ -534,6 +537,11 @@ write_short_name (struct tar_stat_info *st)
-+ return header;
-+ }
-+
-++#define FILL(field,byte) do { \
-++ memset(field, byte, sizeof(field)-1); \
-++ (field)[sizeof(field)-1] = 0; \
-++} while (0)
-++
-+ /* Write a GNUTYPE_LONGLINK or GNUTYPE_LONGNAME block. */
-+ static void
-+ write_gnu_long_link (struct tar_stat_info *st, const char *p, char type)
-+@@ -544,6 +552,10 @@ write_gnu_long_link (struct tar_stat_info *st, const char *p, char type)
-+ char *tmpname;
-+
-+ header = start_private_header ("././@LongLink", size, start_time.tv_sec);
-++ if (pristine_tar_compat) {
-++ FILL (header->header.mtime, '0');
-++ FILL (header->header.mode, '0');
-++ }
-+ uid_to_uname (0, &tmpname);
-+ UNAME_TO_CHARS (tmpname, header->header.uname);
-+ free (tmpname);
-+@@ -724,7 +736,7 @@ write_header_name (struct tar_stat_info *st)
-+ return write_short_name (st);
-+ }
-+ else if (NAME_FIELD_SIZE - (archive_format == OLDGNU_FORMAT)
-+- < strlen (st->file_name))
-++ < strlen (st->file_name) + debian_longlink_hack)
-+ return write_long_name (st);
-+ else
-+ return write_short_name (st);
-+@@ -1476,7 +1488,7 @@ dump_hard_link (struct tar_stat_info *st)
-+ block_ordinal = current_block_ordinal ();
-+ assign_string (&st->link_name, link_name);
-+ if (NAME_FIELD_SIZE - (archive_format == OLDGNU_FORMAT)
-+- < strlen (link_name))
-++ < strlen (link_name) + debian_longlink_hack)
-+ write_long_link (st);
-+
-+ st->stat.st_size = 0;
-+diff --git a/src/tar.c b/src/tar.c
-+index 4f5017d..b72e25b 100644
-+--- a/src/tar.c
-++++ b/src/tar.c
-+@@ -1246,6 +1246,26 @@ expand_pax_option (struct tar_args *targs, const char *arg)
-+ return res;
-+ }
-+
-++/* Debian specific environment variable used by pristine-tar to enable use of
-++ * longlinks for filenames exactly 100 bytes long. */
-++void debian_longlink_hack_init (void) {
-++ char *s=getenv ("TAR_LONGLINK_100");
-++ if (s && strcmp(s, "1") == 0)
-++ debian_longlink_hack=1;
-++ else
-++ debian_longlink_hack=0;
-++}
-++
-++/* pristine-tar sets this environment variable to force fields in longlinks
-++ * to be zeroed as was the case in tar 1.26. */
-++void pristine_tar_compat_init (void) {
-++ char *s=getenv ("PRISTINE_TAR_COMPAT");
-++ if (s && strcmp(s, "1") == 0)
-++ pristine_tar_compat=1;
-++ else
-++ pristine_tar_compat=0;
-++}
-++
-+ \f
-+ static uintmax_t
-+ parse_owner_group (char *arg, uintmax_t field_max, char const **name_option)
-+@@ -2626,6 +2646,9 @@ main (int argc, char **argv)
-+ filename_terminator = '\n';
-+ set_quoting_style (0, DEFAULT_QUOTING_STYLE);
-+
-++ debian_longlink_hack_init ();
-++ pristine_tar_compat_init ();
-++
-+ /* Make sure we have first three descriptors available */
-+ stdopen ();
-+
-diff --git a/debian/patches/series b/debian/patches/series
-index 1dfef41..5974cbb 100644
---- a/debian/patches/series
-+++ b/debian/patches/series
-@@ -1,2 +1,2 @@
--longlink-hack.diff
-+pristine-tar.diff
- listed03-linux-only
---
-1.8.4.rc0
-