+++ /dev/null
-Hi!
-
-Falls du auf bash 2.04 updaten willst, der folgende Patch ist dabei nötig:
-
---- variables.c 2000/03/27 14:44:45 1.1
-+++ variables.c 2000/03/27 14:44:45
-@@ -2477,22 +2477,8 @@
- {
- if (var->exportstr)
- {
--#if defined(__CYGWIN__) || defined (__CYGWIN32__)
- INVALIDATE_EXPORTSTR (var);
- value = value_cell (var);
--#else
-- /* XXX -- this test can go away in the next release, to be replaced
-- by a simple `value = var->exportstr;', when the exportstr code
-- is better-tested. Until then, don't do it for cygwin at all,
-- since that system has some weird environment variables. */
-- if (valid_exportstr (var))
-- value = var->exportstr;
-- else
-- {
-- INVALIDATE_EXPORTSTR (var);
-- value = value_cell (var);
-- }
--#endif
- }
- else if (function_p (var))
- value = named_function_string ((char *)NULL, function_cell (var), 0);
-
-Andreas.
-
---
-Andreas Schwab "And now for something
-SuSE Labs completely different."
-Andreas.Schwab@suse.de
-SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg
+++ /dev/null
-diff -Nru bash-2.02.1/builtins/fc.def bash-2.02.1.new/builtins/fc.def
---- bash-2.02.1/builtins/fc.def Thu Jul 17 15:42:44 1997
-+++ bash-2.02.1.new/builtins/fc.def Tue Oct 6 04:15:29 1998
-@@ -161,7 +161,7 @@
- REPL *rlist, *rl;
- char *ename, *command, *newcom, *line;
- HIST_ENTRY **hlist;
-- char fn[64];
-+ char *fn = 0;
-
- numbering = 1;
- reverse = listing = execute = 0;
-@@ -326,15 +326,29 @@
- stream = stdout;
- else
- {
-+ int fd;
- numbering = 0;
-- /* XXX - this is raceable */
-- sprintf (fn, "/tmp/bash%d", (int)time ((time_t *) 0) + (int)getpid ());
-+ fn = tempnam(0, "bash");
-+ if (!fn)
-+ {
-+ builtin_error ("unable to generate a unique filename");
-+ return (EXECUTION_FAILURE);
-+ }
-+
-+ fd = open (fn, O_CREAT | O_EXCL | O_WRONLY, 0600);
-+ if (fd < 0)
-+ {
-+ builtin_error ("cannot open temp file %s", fn);
-+ free (fn);
-+ return (EXECUTION_FAILURE);
-+ }
-
-- stream = fopen (fn, "w");
-+ stream = fdopen (fd, "w");
-
- if (stream == 0)
- {
- builtin_error ("cannot open temp file %s", fn);
-+ free (fn);
- return (EXECUTION_FAILURE);
- }
- }
-@@ -350,7 +364,10 @@
- }
-
- if (listing)
-+ {
-+ free (fn);
- return (EXECUTION_SUCCESS);
-+ }
-
- fclose (stream);
-
-@@ -369,6 +386,7 @@
- if (retval != EXECUTION_SUCCESS)
- {
- unlink (fn);
-+ free (fn);
- return (EXECUTION_FAILURE);
- }
-
-@@ -442,6 +461,7 @@
-
- run_unwind_frame ("fc builtin");
-
-+ free (fn);
- return (retval);
- }
-
-diff -Nru bash-2.02.1/general.h bash-2.02.1.new/general.h
---- bash-2.02.1/general.h Tue Feb 24 21:51:04 1998
-+++ bash-2.02.1.new/general.h Tue Oct 6 04:15:29 1998
-@@ -21,6 +21,7 @@
- #if !defined (_GENERAL_H_)
- #define _GENERAL_H_
-
-+#include <sys/types.h>
- #include "stdc.h"
-
- #include "bashtypes.h"
-diff -Nru bash-2.02.1/subst.c bash-2.02.1.new/subst.c
---- bash-2.02.1/subst.c Tue Jun 30 18:09:45 1998
-+++ bash-2.02.1.new/subst.c Tue Oct 6 04:15:29 1998
-@@ -2749,8 +2749,8 @@
- {
- char *tname;
-
-- tname = mktemp (savestring ("/tmp/sh-np-XXXXXX"));
-- if (mkfifo (tname, 0600) < 0)
-+ tname = tempnam(0, "sh-np");
-+ if (!tname || mkfifo (tname, 0600) < 0)
- {
- free (tname);
- return ((char *)NULL);
+++ /dev/null
-diff -Nru bash-2.05b/builtins/evalfile.c bash-2.05b.new/builtins/evalfile.c
---- bash-2.05b/builtins/evalfile.c Thu Feb 21 20:08:52 2002
-+++ bash-2.05b.new/builtins/evalfile.c Sun Mar 23 14:59:23 2003
-@@ -208,6 +208,23 @@
- return ((flags & FEVAL_BUILTIN) ? result : 1);
- }
-
-+static char *
-+config_dir_tilde_expand (s, config_dir)
-+ const char *s;
-+ const char *config_dir;
-+{
-+ int old_immed, r;
-+ char *ret;
-+
-+ if (*s == '~' && *(s+1) == '/')
-+ {
-+ ret = xmalloc(strlen(config_dir) + strlen(s) - 1);
-+ sprintf(ret, "%s/%s", config_dir, s+3);
-+ }
-+ else return bash_tilde_expand(s, 0);
-+ return (ret);
-+}
-+
- int
- maybe_execute_file (fname, force_noninteractive)
- const char *fname;
-@@ -215,8 +232,12 @@
- {
- char *filename;
- int result, flags;
--
-- filename = bash_tilde_expand (fname, 0);
-+ char *config_dir = getenv("CONFIG_DIR");
-+
-+ if (config_dir)
-+ filename = config_dir_tilde_expand(fname, config_dir);
-+ else
-+ filename = bash_tilde_expand (fname, 0);
- flags = FEVAL_ENOENTOK;
- if (force_noninteractive)
- flags |= FEVAL_NONINT;