]> git.eshelyaron.com Git - emacs.git/commitdiff
* admin/unidata/emoji-zwj.awk: Avoid sprint buffer overflow
authorMattias Engdegård <mattiase@acm.org>
Sat, 3 Jun 2023 10:50:21 +0000 (12:50 +0200)
committerMattias Engdegård <mattiase@acm.org>
Sat, 3 Jun 2023 10:50:21 +0000 (12:50 +0200)
Some AWK implementations have a fixed buffer for sprintf; for mawk the
default size is 8192 bytes.  Hoist a string concatenation from
a sprintf call to avoid running into that limit.  See discussion at
https://lists.gnu.org/archive/html/emacs-devel/2023-06/msg00090.html .

admin/unidata/emoji-zwj.awk

index f13f796bcacdc71b607daa6951ce8f3907d56682..4b648aa675ebf60e0b8a779c06f7fbdf932667f9 100644 (file)
@@ -106,7 +106,7 @@ END {
 
      for (elt in ch)
     {
-        entries = sprintf("%s\n\"\\N{U+%s}\\N{U+FE0E}\"\n\"\\N{U+%s}\\N{U+FE0F}\"", vec[elt], elt, elt)
+        entries = vec[elt] sprintf("\n\"\\N{U+%s}\\N{U+FE0E}\"\n\"\\N{U+%s}\\N{U+FE0F}\"", elt, elt)
         printf("(#x%s .\n,(eval-when-compile (regexp-opt\n'(\n%s\n))))\n", elt, entries)
     }
      print "))"