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.c126
1 files changed, 63 insertions, 63 deletions
diff --git a/w32/subproc/misc.c b/w32/subproc/misc.c
index 23b6124..2fd66ab 100644
--- a/w32/subproc/misc.c
+++ b/w32/subproc/misc.c
@@ -1,63 +1,63 @@
-#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 win32 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++;
- }
- return TRUE;
-}
+#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 win32 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++;
+ }
+ return TRUE;
+}