<pre style='margin:0'>
Marius Schamschula (Schamschula) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/d1ca8bc57325ea62e4acde23f337435725e7515c">https://github.com/macports/macports-ports/commit/d1ca8bc57325ea62e4acde23f337435725e7515c</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new d1ca8bc5732 yara: update to 4.0.2
</span>d1ca8bc5732 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit d1ca8bc57325ea62e4acde23f337435725e7515c
</span>Author: Marius Schamschula <mps@macports.org>
AuthorDate: Fri Aug 7 14:19:08 2020 -0500

<span style='display:block; white-space:pre;color:#404040;'>    yara: update to 4.0.2
</span>---
 security/yara/Portfile                           |  24 +--
 security/yara/files/patch-loop_declarations.diff | 186 +++++++++++++++++++++++
 2 files changed, 201 insertions(+), 9 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/security/yara/Portfile b/security/yara/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index c6526512db9..e634951e7b9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/security/yara/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/security/yara/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,7 +3,7 @@
</span> PortSystem              1.0
 PortGroup               github 1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup            VirusTotal yara 3.11.0 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup            VirusTotal yara 4.0.2 v
</span> revision                0
 
 categories              security
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -16,21 +16,27 @@ long_description \
</span>     YARA is a tool aimed at helping malware researchers to identify and \
     classify malware samples.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums               rmd160  ebdc9981ee08bf1866e7e2000cebc0c99e74cf0b \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        sha256  2ee3b38a0df9a28aac82cd343dd4e6e20886dce6cc40d45d0b3bb689fd02168c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        size    772323
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums               rmd160  6798f25bf0499d075ff7d600baf34ef04ff1c6e0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  bb36f08e9004c78faf329cfea4a84e10ccc8f471506e5f6a0e109bc74f26b222 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        size    888479
</span> 
 if {${subport} eq ${name}} {
     depends_build       port:autoconf \
                         port:automake \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:libtool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:libtool \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:pkgconfig
</span> 
     depends_lib         port:libmagic \
                         port:jansson \
                         path:lib/libssl.dylib:openssl \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:pcre
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:pcre \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:protobuf-c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles          patch-loop_declarations.diff
</span> 
     pre-configure {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|/usr/local/opt/openssl/include|${prefix}/include/openssl|" ${worksrcpath}/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|/usr/local/opt/openssl/lib|${prefix}/lib|" ${worksrcpath}/configure.ac
</span>         system -W ${worksrcpath} "./bootstrap.sh"
     }
     # If previous yara is installed, this build will fail since
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -69,9 +75,9 @@ foreach v ${python.versions} {
</span>         long_description        Malware identification and classification tool. \
                                     This subport provides bindings for python ${python.branch}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        checksums               rmd160  e5bc2b9e34d9db13c55a5d72456f97699a03c29e \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                sha256  de32d9ddde88211b0e1c605e77a88908b0769861ce3fd6c3f513bdbdde5cb15a \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                size    31846
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        checksums               rmd160  6798f25bf0499d075ff7d600baf34ef04ff1c6e0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                sha256  bb36f08e9004c78faf329cfea4a84e10ccc8f471506e5f6a0e109bc74f26b222 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                size    888479
</span> 
         depends_build-append    port:py${python.version}-setuptools
         depends_lib-append      port:${name} \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/security/yara/files/patch-loop_declarations.diff b/security/yara/files/patch-loop_declarations.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..4bcc659363c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/security/yara/files/patch-loop_declarations.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,186 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- cli/yara.c.orig        2020-06-26 02:17:35.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ cli/yara.c     2020-08-07 13:30:47.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -76,6 +76,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define MAX_QUEUED_FILES 64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int i;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ typedef struct _MODULE_DATA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -297,8 +298,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static void file_queue_finish()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  int i;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   for (i = 0; i < YR_MAX_THREADS; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     semaphore_release(&used_slots);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -572,7 +571,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     const uint8_t* data,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     int length)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for (int i = 0; i < length; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for (i = 0; i < length; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (data[i] >= 32 && data[i] <= 126)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       printf("%c", data[i]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -627,7 +626,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     const uint8_t* data,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     int length)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for (int i = 0; i < min(32, length); i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for (i = 0; i < min(32, length); i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     printf("%s%02X", (i == 0 ? "" : " "), data[i]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   puts(length > 32 ? " ..." : "");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -796,12 +795,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   printf("number of AC matches in top %d longest lists\n", t);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for (int i = 0; i < t; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for (i = 0; i < t; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     printf(" %3d: %d\n", i + 1, stats.top_ac_match_list_lengths[i]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   printf("match list length percentiles\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for (int i = 100; i >= 0; i--)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for (i = 100; i >= 0; i--)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     printf(" %3d: %d\n", i, stats.ac_match_list_length_pctls[i]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -822,7 +821,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     show = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    for (int i = 0; !show && tags[i] != NULL; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    for (i = 0; !show && tags[i] != NULL; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       yr_rule_tags_foreach(rule, tag)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -842,7 +841,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     show = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    for (int i = 0; !show && identifiers[i] != NULL; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    for (i = 0; !show && identifiers[i] != NULL; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       if (strcmp(identifiers[i], rule->identifier) == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1084,7 +1083,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   int result = ERROR_SUCCESS;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for (int i = 0; ext_vars[i] != NULL; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for (i = 0; ext_vars[i] != NULL; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     char* equal_sign = strchr(ext_vars[i], '=');
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1167,7 +1166,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static int load_modules_data()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for (int i = 0; modules_data[i] != NULL; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for (i = 0; modules_data[i] != NULL; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     char* equal_sign = strchr(modules_data[i], '=');
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libyara/arena.c.orig   2020-06-26 02:17:35.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libyara/arena.c        2020-08-07 13:10:02.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -41,6 +41,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #pragma pack(push)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #pragma pack(1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int i;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct YR_ARENA_FILE_HEADER
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   uint8_t magic[4];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -270,7 +272,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (arena->xrefs > 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return ERROR_SUCCESS;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for (int i = 0; i < arena->num_buffers; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for (i = 0; i < arena->num_buffers; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (arena->buffers[i].data != NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       yr_free(arena->buffers[i].data);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -414,7 +416,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (address == NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for (int i = 0; i < arena->num_buffers; ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for (i = 0; i < arena->num_buffers; ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if ((uint8_t*) address >= arena->buffers[i].data &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         (uint8_t*) address <  arena->buffers[i].data + arena->buffers[i].used)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -563,7 +565,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   FAIL_ON_ERROR(yr_arena_create(hdr.num_buffers, 1048576, &new_arena))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for (int i = 0; i < hdr.num_buffers; ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for (i = 0; i < hdr.num_buffers; ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (buffers[i].size == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       continue;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -639,7 +641,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   uint64_t offset = sizeof(YR_ARENA_FILE_HEADER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       + sizeof(YR_ARENA_FILE_BUFFER) * arena->num_buffers;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for (int i = 0; i < arena->num_buffers; ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for (i = 0; i < arena->num_buffers; ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     YR_ARENA_FILE_BUFFER buffer = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       .offset = offset,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -683,7 +685,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Now that all relocatable pointers are converted to references, write the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // buffers.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for (int i = 0; i < arena->num_buffers; ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for (i = 0; i < arena->num_buffers; ++i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     YR_ARENA_BUFFER* b = &arena->buffers[i];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libyara/exec.c.orig    2020-06-26 02:17:35.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libyara/exec.c 2020-08-07 13:12:34.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1683,7 +1683,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   obj_ptr = yr_arena_get_ptr(obj_arena, 0, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for (int i = 0; i < obj_count; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for (i = 0; i < obj_count; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     yr_object_destroy(obj_ptr[i]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   yr_arena_release(obj_arena);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libyara/rules.c.orig   2020-06-26 02:17:35.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libyara/rules.c        2020-08-07 13:27:51.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -493,8 +493,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   float match_list_length_sum = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   int c = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  int i;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for (int i = 0; i < stats->ac_tables_size; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for (i = 0; i < stats->ac_tables_size; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     int match_list_length = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -531,7 +532,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // sort match_list_lengths in increasing order for computing percentiles.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   qsort(match_list_lengths, c, sizeof(match_list_lengths[0]), _uint32_cmp);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for (int i = 0; i < 100; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for (i = 0; i < 100; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (i < c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       stats->top_ac_match_list_lengths[i] = match_list_lengths[c-i-1];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -543,7 +544,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   stats->ac_match_list_length_pctls[0] = match_list_lengths[0];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   stats->ac_match_list_length_pctls[100] = match_list_lengths[c-1];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for (int i = 1; i < 100; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for (i = 1; i < 100; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     stats->ac_match_list_length_pctls[i] = match_list_lengths[(c * i) / 100];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   yr_free(match_list_lengths);
</span></pre><pre style='margin:0'>

</pre>