diff options
| author | Jiri Moskovcak <jmoskovc@redhat.com> | 2010-02-09 14:19:05 +0100 |
|---|---|---|
| committer | Jiri Moskovcak <jmoskovc@redhat.com> | 2010-02-09 14:19:05 +0100 |
| commit | ad1f63fb9b20372e685c6de3b90b36d73df54b4a (patch) | |
| tree | 8f575495913d2fde6e3b72ca0290802b4c98899d /lib/Plugins/Python.cpp | |
| parent | 168a45c78ad4aaa62f5d81d3d41df3d6c74432b6 (diff) | |
| parent | 58bb1d4c39140e9bcec0b96c5b01f71dafe06d10 (diff) | |
Merge branch 'master' into rhel6
Diffstat (limited to 'lib/Plugins/Python.cpp')
| -rw-r--r-- | lib/Plugins/Python.cpp | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/lib/Plugins/Python.cpp b/lib/Plugins/Python.cpp index d6a3084..12cc47e 100644 --- a/lib/Plugins/Python.cpp +++ b/lib/Plugins/Python.cpp @@ -38,7 +38,27 @@ string CAnalyzerPython::GetLocalUUID(const char *pDebugDumpDir) unsigned char hash2[MD5_RESULT_LEN]; md5_ctx_t md5ctx; md5_begin(&md5ctx); - md5_hash(bt_str, bt_end - bt_str, &md5ctx); + // Better: + // "example.py:1:<module>:ZeroDivisionError: integer division or modulo by zero" + //md5_hash(bt_str, bt_end - bt_str, &md5ctx); + // For now using compat version: + { + char *copy = xstrndup(bt_str, bt_end - bt_str); + char *s = copy; + char *d = copy; + unsigned colon_cnt = 0; + while (*s && colon_cnt < 3) { + if (*s != ':') + *d++ = *s; + else + colon_cnt++; + s++; + } + // "example.py1<module>" + md5_hash(copy, d - copy, &md5ctx); +//*d = '\0'; log("str:'%s'", copy); + free(copy); + } md5_end(hash2, &md5ctx); // Hash is MD5_RESULT_LEN bytes long, but we use only first 4 @@ -56,7 +76,6 @@ string CAnalyzerPython::GetLocalUUID(const char *pDebugDumpDir) //log("hash2:%s str:'%.*s'", hash_str, (int)(bt_end - bt_str), bt_str); return hash_str; - } string CAnalyzerPython::GetGlobalUUID(const char *pDebugDumpDir) { |
