Add software packages for oem needs library
[AGL/meta-agl-devel.git] / meta-oem-extra-libs / recipes-core / libtar / files / oldgnu_prefix.patch
1 Description: Detect old-style GNU headers correctly
2 Author: Steinar H. Gunderson <sesse@debian.org>
3
4 --- libtar-1.2.20.orig/lib/decode.c
5 +++ libtar-1.2.20/lib/decode.c
6 @@ -69,7 +69,14 @@ th_get_pathname(TAR *t)
7                         return NULL;
8         }
9  
10 -       if (t->th_buf.prefix[0] == '\0')
11 +       /*
12 +        * Old GNU headers (also used by newer GNU tar when doing incremental
13 +        * dumps) use the POSIX prefix field for many other things, such as
14 +        * mtime and ctime. New-style GNU headers don't, but also don't use the
15 +        * POSIX prefix field. Thus, only honor the prefix field if the archive
16 +        * is actually a POSIX archive. This is the same logic as GNU tar uses.
17 +        */
18 +       if (strncmp(t->th_buf.magic, TMAGIC, TMAGLEN - 1) != 0 || t->th_buf.prefix[0] == '\0')
19         {
20                 sprintf(t->th_pathname, "%.100s", t->th_buf.name);
21         }