Merge branch 'v5.0'

This commit is contained in:
Lasse Collin 2010-12-12 23:13:22 +02:00
commit 4f2c69a4e3
4 changed files with 40 additions and 5 deletions

1
THANKS
View File

@ -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

View File

@ -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 ;;

View File

@ -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

View File

@ -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.