Author: jamessan
Date: Wed Dec 20 14:37:21 2017
New Revision: 1818801

URL: http://svn.apache.org/viewvc?rev=1818801&view=rev
Log:
Use LZ4_versionNumber() to reduce the version requirement for LZ4

LZ4_versionNumber() was introduced in r120, which is more widely available than
1.7.3, when LZ4_versionString() was introduced.

* subversion/include/private/svn_subr_private.h
  (svn_lz4__runtime_version): Change the return type to int

* subversion/libsvn_subr/compress_lz4.c
  (svn_lz4__compiled_version): Compose the version string from the
    LZ4_VERSION_{MAJOR,MINOR,RELEASE} defines
  (svn_lz4__runtime_version): Return the integer version value

* subversion/libsvn_subr/sysinfo.c
  (svn_sysinfo__linked_libs): Decompose the version number and build the
    version string

Modified:
    subversion/trunk/subversion/include/private/svn_subr_private.h
    subversion/trunk/subversion/libsvn_subr/compress_lz4.c
    subversion/trunk/subversion/libsvn_subr/sysinfo.c

Modified: subversion/trunk/subversion/include/private/svn_subr_private.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/private/svn_subr_private.h?rev=1818801&r1=1818800&r2=1818801&view=diff
==============================================================================
--- subversion/trunk/subversion/include/private/svn_subr_private.h (original)
+++ subversion/trunk/subversion/include/private/svn_subr_private.h Wed Dec 20 
14:37:21 2017
@@ -741,8 +741,10 @@ const char *svn_zlib__runtime_version(vo
 /* Return the lz4 version we compiled against. */
 const char *svn_lz4__compiled_version(void);
 
-/* Return the lz4 version we run against. */
-const char *svn_lz4__runtime_version(void);
+/* Return the lz4 version we run against as a composed value:
+ * major * 100 * 100 + minor * 100 + release
+ */
+int svn_lz4__runtime_version(void);
 
 #ifdef __cplusplus
 }

Modified: subversion/trunk/subversion/libsvn_subr/compress_lz4.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/compress_lz4.c?rev=1818801&r1=1818800&r2=1818801&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/compress_lz4.c (original)
+++ subversion/trunk/subversion/libsvn_subr/compress_lz4.c Wed Dec 20 14:37:21 
2017
@@ -130,13 +130,15 @@ svn__decompress_lz4(const void *data, ap
 const char *
 svn_lz4__compiled_version(void)
 {
-  static const char lz4_version_str[] = LZ4_VERSION_STRING;
+  static const char lz4_version_str[] = APR_STRINGIFY(LZ4_VERSION_MAJOR) "." \
+                                        APR_STRINGIFY(LZ4_VERSION_MINOR) "." \
+                                        APR_STRINGIFY(LZ4_VERSION_RELEASE);
 
   return lz4_version_str;
 }
 
-const char *
+int
 svn_lz4__runtime_version(void)
 {
-  return LZ4_versionString();
+  return LZ4_versionNumber();
 }

Modified: subversion/trunk/subversion/libsvn_subr/sysinfo.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/sysinfo.c?rev=1818801&r1=1818800&r2=1818801&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/sysinfo.c (original)
+++ subversion/trunk/subversion/libsvn_subr/sysinfo.c Wed Dec 20 14:37:21 2017
@@ -170,7 +170,12 @@ svn_sysinfo__linked_libs(apr_pool_t *poo
   lib = &APR_ARRAY_PUSH(array, svn_version_ext_linked_lib_t);
   lib->name = "LZ4";
   lib->compiled_version = apr_pstrdup(pool, svn_lz4__compiled_version());
-  lib->runtime_version = apr_pstrdup(pool, svn_lz4__runtime_version());
+
+  int lz4_version = svn_lz4__runtime_version();
+  lib->runtime_version = apr_psprintf(pool, "%d.%d.%d",
+                                      lz4_version / 100 / 100,
+                                      (lz4_version / 100) % 100,
+                                      lz4_version % 100);
 
   return array;
 }


Reply via email to