diff options
author | Rüdiger Timm <rt@openoffice.org> | 2005-05-13 06:28:58 +0000 |
---|---|---|
committer | Rüdiger Timm <rt@openoffice.org> | 2005-05-13 06:28:58 +0000 |
commit | 6078393bbd8e8c1c3c251290eb5d7884cac8d3d7 (patch) | |
tree | 90dd81517bc90031f988547a9516ab01ff684ff0 /sal/osl/unx | |
parent | b8871d23ea14d72ba1a22376e7812ea5840d1084 (diff) |
INTEGRATION: CWS crlinkfix (1.25.4); FILE MERGED
2005/05/12 08:26:16 hro 1.25.4.1: #122676# Use soname in crash reports
Diffstat (limited to 'sal/osl/unx')
-rw-r--r-- | sal/osl/unx/signal.c | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/sal/osl/unx/signal.c b/sal/osl/unx/signal.c index 81094f0ef372..fcdee3db204b 100644 --- a/sal/osl/unx/signal.c +++ b/sal/osl/unx/signal.c @@ -2,9 +2,9 @@ * * $RCSfile: signal.c,v $ * - * $Revision: 1.25 $ + * $Revision: 1.26 $ * - * last change: $Author: obo $ $Date: 2005-05-06 09:19:26 $ + * last change: $Author: rt $ $Date: 2005-05-13 07:28:58 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -541,27 +541,22 @@ static int ReportCrash( int Signal ) { const char *dli_fname = NULL; const char *dli_fdir = NULL; - const char *dli_fpath = NULL; - char szCanonicPath[PATH_MAX]; char szDirectory[PATH_MAX]; + char szCanonicDirectory[PATH_MAX]; /* Don't expect that dladdr filled all members of dl_info */ - if ( dl_info.dli_fname && realpath( dl_info.dli_fname, szCanonicPath ) ) - dli_fpath = szCanonicPath; - else - dli_fpath = dl_info.dli_fname; - - dli_fname = dli_fpath ? strrchr( dli_fpath, '/' ) : NULL; + dli_fname = dl_info.dli_fname ? strrchr( dl_info.dli_fname, '/' ) : NULL; if ( dli_fname ) { ++dli_fname; - memcpy( szDirectory, dli_fpath, dli_fname - dli_fpath ); - szDirectory[dli_fname - dli_fpath] = 0; - dli_fdir = szDirectory; + memcpy( szDirectory, dl_info.dli_fname, dli_fname - dl_info.dli_fname ); + szDirectory[dli_fname - dl_info.dli_fname] = 0; + + dli_fdir = realpath( szDirectory, szCanonicDirectory ) ? szCanonicDirectory : szDirectory; } else - dli_fname = dli_fpath; + dli_fname = dl_info.dli_fname; /* create checksum of library on stack */ if ( dli_fname ) |