Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37776739
en ru br
Репозитории ALT
S:2.22-alt9
5.1: 2.22-alt2
4.1: 2.22-alt2
4.0: 2.22-alt2
3.0: 2.22-alt1
www.altlinux.org/Changes

Группа :: Разработка/Perl
Пакет: perl-CGI-SpeedyCGI

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: 30empty-param.patch
Скачать


Author: Niko Tyni <ntyni@iki.fi>
Description: Allow empty strings as command-line parameters
--- a/src/speedy_frontend.c
+++ b/src/speedy_frontend.c
@@ -535,7 +535,26 @@
 	    ADD_STRING(b, s, l);
 	}
     }
+    /* Terminate with zero-length string */
+    ADDCHAR(b, 0);
+}
+
+/* Copy a block of strings into the buffer, including empty strings */
+static void add_strings_with_empty(register SpeedyBuf *b, register const char * const * p)
+{
+    int l;
+    register const char *s;
 
+    /* Add strings in p array */
+    for (; (s = *p); ++p) {
+	if ((l = strlen(s))) {
+	    ADD_STRING(b, s, l);
+	} else {
+	    /* add a 1-byte long string containing just '\0' */
+	    l = 1;
+	    ADD_STRING(b, s, l);
+	}
+    }
     /* Terminate with zero-length string */
     ADDCHAR(b, 0);
 }
@@ -560,7 +579,7 @@
 
     /* Add env and argv */
     add_strings(sb, envp);
-    add_strings(sb, scr_argv+1);
+    add_strings_with_empty(sb, scr_argv+1);
 
     /* Put script filename into buffer */
     add_string(sb, script_fname, strlen(script_fname));
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin