summaryrefslogtreecommitdiff
path: root/w32/subproc/misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'w32/subproc/misc.c')
-rw-r--r--w32/subproc/misc.c164
1 files changed, 82 insertions, 82 deletions
diff --git a/w32/subproc/misc.c b/w32/subproc/misc.c
index 4d5aab5..3e1981a 100644
--- a/w32/subproc/misc.c
+++ b/w32/subproc/misc.c
@@ -1,82 +1,82 @@
-/* Process handling for Windows
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007 Free Software Foundation, Inc.
-This file is part of GNU Make.
-
-GNU Make is free software; you can redistribute it and/or modify it under the
-terms of the GNU General Public License as published by the Free Software
-Foundation; either version 3 of the License, or (at your option) any later
-version.
-
-GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along with
-this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#include <stddef.h>
-#include <stdlib.h>
-#include <string.h>
-#include <windows.h>
-#include "proc.h"
-
-
-/*
- * Description: Convert a NULL string terminated UNIX environment block to
- * an environment block suitable for a windows32 system call
- *
- * Returns: TRUE= success, FALSE=fail
- *
- * Notes/Dependencies: the environment block is sorted in case-insensitive
- * order, is double-null terminated, and is a char *, not a char **
- */
-int _cdecl compare(const void *a1, const void *a2)
-{
- return _stricoll(*((char**)a1),*((char**)a2));
-}
-bool_t
-arr2envblk(char **arr, char **envblk_out)
-{
- char **tmp;
- int size_needed;
- int arrcnt;
- char *ptr;
-
- arrcnt = 0;
- while (arr[arrcnt]) {
- arrcnt++;
- }
-
- tmp = (char**) calloc(arrcnt + 1, sizeof(char *));
- if (!tmp) {
- return FALSE;
- }
-
- arrcnt = 0;
- size_needed = 0;
- while (arr[arrcnt]) {
- tmp[arrcnt] = arr[arrcnt];
- size_needed += strlen(arr[arrcnt]) + 1;
- arrcnt++;
- }
- size_needed++;
-
- qsort((void *) tmp, (size_t) arrcnt, sizeof (char*), compare);
-
- ptr = *envblk_out = calloc(size_needed, 1);
- if (!ptr) {
- free(tmp);
- return FALSE;
- }
-
- arrcnt = 0;
- while (tmp[arrcnt]) {
- strcpy(ptr, tmp[arrcnt]);
- ptr += strlen(tmp[arrcnt]) + 1;
- arrcnt++;
- }
-
- free(tmp);
- return TRUE;
-}
+/* Process handling for Windows
+Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+2006, 2007 Free Software Foundation, Inc.
+This file is part of GNU Make.
+
+GNU Make is free software; you can redistribute it and/or modify it under the
+terms of the GNU General Public License as published by the Free Software
+Foundation; either version 3 of the License, or (at your option) any later
+version.
+
+GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <stddef.h>
+#include <stdlib.h>
+#include <string.h>
+#include <windows.h>
+#include "proc.h"
+
+
+/*
+ * Description: Convert a NULL string terminated UNIX environment block to
+ * an environment block suitable for a windows32 system call
+ *
+ * Returns: TRUE= success, FALSE=fail
+ *
+ * Notes/Dependencies: the environment block is sorted in case-insensitive
+ * order, is double-null terminated, and is a char *, not a char **
+ */
+int _cdecl compare(const void *a1, const void *a2)
+{
+ return _stricoll(*((char**)a1),*((char**)a2));
+}
+bool_t
+arr2envblk(char **arr, char **envblk_out)
+{
+ char **tmp;
+ int size_needed;
+ int arrcnt;
+ char *ptr;
+
+ arrcnt = 0;
+ while (arr[arrcnt]) {
+ arrcnt++;
+ }
+
+ tmp = (char**) calloc(arrcnt + 1, sizeof(char *));
+ if (!tmp) {
+ return FALSE;
+ }
+
+ arrcnt = 0;
+ size_needed = 0;
+ while (arr[arrcnt]) {
+ tmp[arrcnt] = arr[arrcnt];
+ size_needed += strlen(arr[arrcnt]) + 1;
+ arrcnt++;
+ }
+ size_needed++;
+
+ qsort((void *) tmp, (size_t) arrcnt, sizeof (char*), compare);
+
+ ptr = *envblk_out = calloc(size_needed, 1);
+ if (!ptr) {
+ free(tmp);
+ return FALSE;
+ }
+
+ arrcnt = 0;
+ while (tmp[arrcnt]) {
+ strcpy(ptr, tmp[arrcnt]);
+ ptr += strlen(tmp[arrcnt]) + 1;
+ arrcnt++;
+ }
+
+ free(tmp);
+ return TRUE;
+}