mirror of https://git.tukaani.org/xz.git
Merge branch 'v5.0'
This commit is contained in:
commit
4f2c69a4e3
1
THANKS
1
THANKS
|
@ -22,6 +22,7 @@ has been important. :-) In alphabetical order:
|
||||||
- Gilles Espinasse
|
- Gilles Espinasse
|
||||||
- Denis Excoffier
|
- Denis Excoffier
|
||||||
- Mike Frysinger
|
- Mike Frysinger
|
||||||
|
- Juan Manuel Guerrero
|
||||||
- Joachim Henke
|
- Joachim Henke
|
||||||
- Peter Ivanov
|
- Peter Ivanov
|
||||||
- Jouk Jansen
|
- Jouk Jansen
|
||||||
|
|
|
@ -283,7 +283,7 @@ if test "x$enable_assembler" = xyes; then
|
||||||
case $host_os in
|
case $host_os in
|
||||||
# Darwin should work too but only if not creating universal
|
# Darwin should work too but only if not creating universal
|
||||||
# binaries. Solaris x86 could work too but I cannot test.
|
# binaries. Solaris x86 could work too but I cannot test.
|
||||||
linux* | *bsd* | mingw* | cygwin*)
|
linux* | *bsd* | mingw* | cygwin* | *djgpp*)
|
||||||
case $host_cpu in
|
case $host_cpu in
|
||||||
i?86) enable_assembler=x86 ;;
|
i?86) enable_assembler=x86 ;;
|
||||||
x86_64) enable_assembler=x86_64 ;;
|
x86_64) enable_assembler=x86_64 ;;
|
||||||
|
|
|
@ -65,6 +65,9 @@
|
||||||
#ifndef PRIu32
|
#ifndef PRIu32
|
||||||
# define PRIu32 "u"
|
# define PRIu32 "u"
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef PRIx32
|
||||||
|
# define PRIx32 "x"
|
||||||
|
#endif
|
||||||
#ifndef PRIX32
|
#ifndef PRIX32
|
||||||
# define PRIX32 "X"
|
# define PRIX32 "X"
|
||||||
#endif
|
#endif
|
||||||
|
@ -76,6 +79,9 @@
|
||||||
# ifndef PRIu64
|
# ifndef PRIu64
|
||||||
# define PRIu64 "llu"
|
# define PRIu64 "llu"
|
||||||
# endif
|
# endif
|
||||||
|
# ifndef PRIx64
|
||||||
|
# define PRIx64 "llx"
|
||||||
|
# endif
|
||||||
# ifndef PRIX64
|
# ifndef PRIX64
|
||||||
# define PRIX64 "llX"
|
# define PRIX64 "llX"
|
||||||
# endif
|
# endif
|
||||||
|
@ -86,6 +92,9 @@
|
||||||
# ifndef PRIu64
|
# ifndef PRIu64
|
||||||
# define PRIu64 "lu"
|
# define PRIu64 "lu"
|
||||||
# endif
|
# endif
|
||||||
|
# ifndef PRIx64
|
||||||
|
# define PRIx64 "lx"
|
||||||
|
# endif
|
||||||
# ifndef PRIX64
|
# ifndef PRIX64
|
||||||
# define PRIX64 "lX"
|
# define PRIX64 "lX"
|
||||||
# endif
|
# endif
|
||||||
|
|
|
@ -27,6 +27,30 @@ struct suffix_pair {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/// \brief Test if the char is a directory separator
|
||||||
|
static bool
|
||||||
|
is_dir_sep(char c)
|
||||||
|
{
|
||||||
|
#ifdef TUKLIB_DOSLIKE
|
||||||
|
return c == '/' || c == '\\' || c == ':';
|
||||||
|
#else
|
||||||
|
return c == '/';
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// \brief Test if the string contains a directory separator
|
||||||
|
static bool
|
||||||
|
has_dir_sep(const char *str)
|
||||||
|
{
|
||||||
|
#ifdef TUKLIB_DOSLIKE
|
||||||
|
return strpbrk(str, "/\\:") != NULL;
|
||||||
|
#else
|
||||||
|
return strchr(str, '/') != NULL;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// \brief Checks if src_name has given compressed_suffix
|
/// \brief Checks if src_name has given compressed_suffix
|
||||||
///
|
///
|
||||||
/// \param suffix Filename suffix to look for
|
/// \param suffix Filename suffix to look for
|
||||||
|
@ -44,7 +68,8 @@ test_suffix(const char *suffix, const char *src_name, size_t src_len)
|
||||||
// The filename must have at least one character in addition to
|
// The filename must have at least one character in addition to
|
||||||
// the suffix. src_name may contain path to the filename, so we
|
// the suffix. src_name may contain path to the filename, so we
|
||||||
// need to check for directory separator too.
|
// need to check for directory separator too.
|
||||||
if (src_len <= suffix_len || src_name[src_len - suffix_len - 1] == '/')
|
if (src_len <= suffix_len
|
||||||
|
|| is_dir_sep(src_name[src_len - suffix_len - 1]))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (strcmp(suffix, src_name + src_len - suffix_len) == 0)
|
if (strcmp(suffix, src_name + src_len - suffix_len) == 0)
|
||||||
|
@ -199,9 +224,9 @@ suffix_get_dest_name(const char *src_name)
|
||||||
extern void
|
extern void
|
||||||
suffix_set(const char *suffix)
|
suffix_set(const char *suffix)
|
||||||
{
|
{
|
||||||
// Empty suffix and suffixes having a slash are rejected. Such
|
// Empty suffix and suffixes having a directory separator are
|
||||||
// suffixes would break things later.
|
// rejected. Such suffixes would break things later.
|
||||||
if (suffix[0] == '\0' || strchr(suffix, '/') != NULL)
|
if (suffix[0] == '\0' || has_dir_sep(suffix))
|
||||||
message_fatal(_("%s: Invalid filename suffix"), optarg);
|
message_fatal(_("%s: Invalid filename suffix"), optarg);
|
||||||
|
|
||||||
// Replace the old custom_suffix (if any) with the new suffix.
|
// Replace the old custom_suffix (if any) with the new suffix.
|
||||||
|
|
Loading…
Reference in New Issue