dbghelp: Rewrite stabs parsing to not need PATH_MAX
André Hentschel
nerv at dawncrow.de
Fri Oct 14 13:41:58 CDT 2011
---
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..1dbd82a 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(), HEAP_ZERO_MEMORY, len + 1);
strcpy(srcpath, ptr);
+ }
}
break;
case N_SOL:
--
Best Regards, André Hentschel
More information about the wine-patches
mailing list