=?UTF-8?Q?Andr=C3=A9=20Hentschel=20?=: dbghelp: Rewrite stabs parsing to not need PATH_MAX.

Alexandre Julliard julliard at winehq.org
Mon Oct 17 13:08:54 CDT 2011


Module: wine
Branch: master
Commit: 85051917fe99e5c257638bf04caf7dfa94440410
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=85051917fe99e5c257638bf04caf7dfa94440410

Author: André Hentschel <nerv at dawncrow.de>
Date:   Fri Oct 14 20:41:58 2011 +0200

dbghelp: Rewrite stabs parsing to not need PATH_MAX.

---

 dlls/dbghelp/stabs.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/dlls/dbghelp/stabs.c b/dlls/dbghelp/stabs.c
index 1bdd706..b4188d1 100644
--- a/dlls/dbghelp/stabs.c
+++ b/dlls/dbghelp/stabs.c
@@ -47,9 +47,6 @@
 # include <unistd.h>
 #endif
 #include <stdio.h>
-#ifndef PATH_MAX
-#define PATH_MAX MAX_PATH
-#endif
 #include <assert.h>
 #include <stdarg.h>
 
@@ -1272,7 +1269,7 @@ BOOL stabs_parse(struct module* module, unsigned long load_offset,
     struct symt_function*       curr_func = NULL;
     struct symt_block*          block = NULL;
     struct symt_compiland*      compiland = NULL;
-    char                        srcpath[PATH_MAX]; /* path to directory source file is in */
+    char*                       srcpath = NULL;
     int                         i;
     int                         nstab;
     const char*                 ptr;
@@ -1294,7 +1291,6 @@ BOOL stabs_parse(struct module* module, unsigned long load_offset,
     nstab = stablen / sizeof(struct stab_nlist);
     strs_end = strs + strtablen;
 
-    memset(srcpath, 0, sizeof(srcpath));
     memset(stabs_basic, 0, sizeof(stabs_basic));
     memset(&pending_block, 0, sizeof(pending_block));
     memset(&pending_func, 0, sizeof(pending_func));
@@ -1565,7 +1561,8 @@ BOOL stabs_parse(struct module* module, unsigned long load_offset,
             if (*ptr == '\0') /* end of N_SO file */
             {
                 /* Nuke old path. */
-                srcpath[0] = '\0';
+                HeapFree(GetProcessHeap(), 0, srcpath);
+                srcpath = NULL;
                 stabs_finalize_function(module, curr_func, 0);
                 curr_func = NULL;
                 source_idx = -1;
@@ -1583,7 +1580,10 @@ BOOL stabs_parse(struct module* module, unsigned long load_offset,
                     compiland = symt_new_compiland(module, 0 /* FIXME */, source_idx);
                 }
                 else
+                {
+                    srcpath = HeapAlloc(GetProcessHeap(), 0, len + 1);
                     strcpy(srcpath, ptr);
+                }
             }
             break;
         case N_SOL:




More information about the wine-cvs mailing list