Ticket #1800: 0001-Split-up-potentially-long-echo-invocation-on-win32.patch

File 0001-Split-up-potentially-long-echo-invocation-on-win32.patch, 1.1 KB (added by Vasilij Schneidermann, 18 months ago)
  • egg-compile.scm

    From baa0b9dce845c6a017a4a1fb9b79e479ad33cc38 Mon Sep 17 00:00:00 2001
    From: Vasilij Schneidermann <mail@vasilij.de>
    Date: Tue, 1 Nov 2022 20:23:59 +0100
    Subject: [PATCH] Split up potentially long echo invocation on win32
    
    Eggs with a very long infostr may trigger the maximum command line
    invocation length of 8191 chars. To avoid running into this
    limitation, the generated install script now creates an empty file,
    then echoes each line into it.
    
    Closes #1800
    ---
     egg-compile.scm | 11 ++++++++---
     1 file changed, 8 insertions(+), 3 deletions(-)
    
    diff --git a/egg-compile.scm b/egg-compile.scm
    index c1f2ceb0..f37b7a9f 100644
    a b EOF 
    11391139       (printf #<<EOF
    11401140
    11411141~a ~a~a
    1142 echo ~a >~a~a~%
     1142copy /y nul ~a~a~%
     1143~a
    11431144EOF
    11441145               mkdir ddir qdir
    1145                (string-intersperse (string-split infostr "\n") "^\n\n")
    1146                ddir dest)))))
     1146               ddir dest
     1147               (string-intersperse (map (lambda (line)
     1148                                          (format "echo ~a >>~a~a"
     1149                                                  line ddir dest))
     1150                                        (string-split infostr "\n"))
     1151                                   "\n"))))))
    11471152
    11481153;;; some utilities for mangling + quoting
    11491154