emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/w32.c


From: Eli Zaretskii
Subject: [Emacs-diffs] Changes to emacs/src/w32.c
Date: Fri, 19 May 2006 19:29:36 +0000

Index: emacs/src/w32.c
diff -u emacs/src/w32.c:1.101 emacs/src/w32.c:1.102
--- emacs/src/w32.c:1.101       Fri May 19 19:03:47 2006
+++ emacs/src/w32.c     Fri May 19 19:29:36 2006
@@ -1095,20 +1095,17 @@
 
            if (lpval)
              {
-               if (dwType == REG_EXPAND_SZ)
-                 {
-                   char buf1[SET_ENV_BUF_SIZE], buf2[SET_ENV_BUF_SIZE];
+               char buf1[SET_ENV_BUF_SIZE], buf2[SET_ENV_BUF_SIZE];
 
-                   ExpandEnvironmentStrings ((LPSTR) lpval, buf1, 
sizeof(buf1));
-                   _snprintf (buf2, sizeof(buf2)-1, "%s=%s", env_vars[i].name, 
buf1);
-                   _putenv (strdup (buf2));
-                 }
+               if (dwType == REG_EXPAND_SZ)
+                 ExpandEnvironmentStrings ((LPSTR) lpval, buf1, sizeof(buf1));
                else if (dwType == REG_SZ)
+                 strcpy (buf1, lpval);
+               if (dwType == REG_EXPAND_SZ || dwType == REG_SZ)
                  {
-                   char buf[SET_ENV_BUF_SIZE];
-
-                   _snprintf (buf, sizeof(buf)-1, "%s=%s", env_vars[i].name, 
lpval);
-                   _putenv (strdup (buf));
+                   _snprintf (buf2, sizeof(buf2)-1, "%s=%s", env_vars[i].name,
+                              buf1);
+                   _putenv (strdup (buf2));
                  }
 
                if (!dont_free)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]