branch update for HEAD-2003021201
[reactos.git] / lib / msvcrt / misc / getargs.c
index b9452e7..b48b72b 100644 (file)
 #include <msvcrt/stdlib.h>
 #include <msvcrt/string.h>
 
-extern char *_acmdln;
-extern char *_pgmptr;
+
+extern char*_acmdln;
+extern char*_pgmptr;
 #undef _environ
-extern char **_environ;
+extern char**_environ;
 
 #undef __argv
 #undef __argc
 
-char  **__argv = NULL;
-int   __argc = 0;
+char**__argv = NULL;
+int __argc = 0;
 
 extern HANDLE hHeap;
 
 char* strndup(char* name, int len)
 {
-   char *s = malloc(len + 1);
-   if (s != NULL)
-   {
-      strncpy(s, name, len);
-   }
-   return s;
+    char *s = malloc(len + 1);
+    if (s != NULL) {
+        strncpy(s, name, len);
+    }
+    return s;
 }
-   
+
 #define SIZE (4096 / sizeof(char*))
 
-int add(char *name)
+int add(charname)
 {
-   char** _new;
-   if ((__argc % SIZE) == 0)
-   {
-      _new = malloc(sizeof(char*) * (__argc + SIZE));
-      if (_new == NULL)
-      {
-        return -1;
-      }
-      if (__argv)
-      {
-        memcpy(_new, __argv, sizeof(char*) * __argc);
-        free(__argv);
-      }
-      __argv = _new;
-   }
-   __argv[__argc++] = name;
+    char** _new;
+    if ((__argc % SIZE) == 0) {
+        _new = malloc(sizeof(char*) * (__argc + SIZE));
+        if (_new == NULL) {
+            return -1;
+        }
+        if (__argv) {
+            memcpy(_new, __argv, sizeof(char*) * __argc);
+            free(__argv);
+        }
+        __argv = _new;
+    }
+    __argv[__argc++] = name;
+    return 0;
 }
 
 int expand(char* name)
 {
-   char *s;
-   WIN32_FIND_DATA fd;
-   HANDLE hFile;
-   BOOLEAN first = TRUE;
-   char buffer[256];
-   int pos;
-
-   s = strpbrk(name, "*?");
-   if (s)
-   {
-      hFile = FindFirstFile(name, &fd);
-      if (hFile != INVALID_HANDLE_VALUE)
-      {
-         while(s != name && *s != '/' && *s != '\\')
-            s--;
-         pos = s - name;
-         if (*s == '/' || *s == '\\')
-            pos++;
-        strncpy(buffer, name, pos);
-         do
-        {
-            if (!(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
-           {
-               strcpy(&buffer[pos], fd.cFileName);
-              if (add(strdup(buffer)) < 0)
-              {
-                 FindClose(hFile);
-                 return -1;
-              }
-              first = FALSE;
-           }
-        }
-         while(FindNextFile(hFile, &fd));
-         FindClose(hFile);
-      }
-   }
-   if (first)
-   {
-      if (add(name) < 0)
-        return -1;
-   }
-   else
-      free(name);
-   return 0;
+    char* s;
+    WIN32_FIND_DATA fd;
+    HANDLE hFile;
+    BOOLEAN first = TRUE;
+    char buffer[256];
+    int pos;
+
+    s = strpbrk(name, "*?");
+    if (s) {
+        hFile = FindFirstFile(name, &fd);
+        if (hFile != INVALID_HANDLE_VALUE) {
+            while(s != name && *s != '/' && *s != '\\')
+                s--;
+            pos = s - name;
+            if (*s == '/' || *s == '\\')
+                pos++;
+            strncpy(buffer, name, pos);
+            do {
+                if (!(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
+                    strcpy(&buffer[pos], fd.cFileName);
+                    if (add(strdup(buffer)) < 0) {
+                        FindClose(hFile);
+                        return -1;
+                    }
+                    first = FALSE;
+                }
+            }
+            while(FindNextFile(hFile, &fd));
+            FindClose(hFile);
+        }
+    }
+    if (first) {
+        if (add(name) < 0)
+            return -1;
+    }
+    else
+        free(name);
+    return 0;
 }
 
-int __getmainargs(int *argc,char ***argv,char ***env,int flag)
+int __getmainargs(int* argc, char*** argv, char*** env, int flag)
 {
-   int i,afterlastspace;
-  
-   /* missing threading init */
-   
-   i=0;
-   afterlastspace=0;
-   
-   while (_acmdln[i])
-     {
-       if (_acmdln[i]==' ')
-         {
-             expand(strndup(_acmdln + afterlastspace, i - afterlastspace));
-            i++;
-            while (_acmdln[i]==' ')
-              i++;
-            afterlastspace=i;
-         }
-       else
-         {
-            i++;
-         }
-     }
-   
-   if (_acmdln[afterlastspace] != 0)
-     {
-       expand(strndup(_acmdln+afterlastspace, i - afterlastspace));
-     }
-
-   HeapValidate(hHeap,0,NULL);
-   
-   *argc = __argc;
-   *argv = __argv;
-   *env  = _environ;
-
-   _pgmptr = strdup((char *)argv[0]);
-
-   return 0;
+    int i, afterlastspace;
+
+    /* missing threading init */
+
+    i = 0;
+    afterlastspace = 0;
+
+    while (_acmdln[i]) {
+        if (_acmdln[i] == ' ') {
+            expand(strndup(_acmdln + afterlastspace, i - afterlastspace));
+            i++;
+            while (_acmdln[i]==' ')
+                i++;
+            afterlastspace=i;
+        } else {
+            i++;
+        }
+    }
+
+    if (_acmdln[afterlastspace] != 0) {
+        expand(strndup(_acmdln+afterlastspace, i - afterlastspace));
+    }
+    HeapValidate(hHeap, 0, NULL);
+    *argc = __argc;
+    *argv = __argv;
+    *env  = _environ;
+    _pgmptr = strdup((char*)argv[0]);
+    return 0;
 }
 
-
-int *__p___argc(void)
+int* __p___argc(void)
 {
-   return &__argc;
+    return &__argc;
 }
 
-char ***__p___argv(void)
+char*** __p___argv(void)
 {
-   return &__argv;
+    return &__argv;
 }
 
 #if 0
 int _chkstk(void)
 {
-       return 0;
+    return 0;
 }
 #endif