diff options
author | Denys Vlasenko <dvlasenk@redhat.com> | 2010-12-08 15:03:24 +0100 |
---|---|---|
committer | Denys Vlasenko <dvlasenk@redhat.com> | 2010-12-08 15:03:24 +0100 |
commit | def39238640489b41da5cdc8fd4a83d16d49fcc7 (patch) | |
tree | 7700bf86d63e474ebf613c90b09d078aab333e88 /src/daemon | |
parent | 816f3e001271ed8ab7fdadb6d90aeb2c61362dac (diff) | |
download | abrt-def39238640489b41da5cdc8fd4a83d16d49fcc7.tar.gz abrt-def39238640489b41da5cdc8fd4a83d16d49fcc7.tar.xz abrt-def39238640489b41da5cdc8fd4a83d16d49fcc7.zip |
removal of C++isms from libabrt, part 2
This patch rewrites a few places where we use C++ strings
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'src/daemon')
-rw-r--r-- | src/daemon/MiddleWare.cpp | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/src/daemon/MiddleWare.cpp b/src/daemon/MiddleWare.cpp index 7135a50a..51f7929d 100644 --- a/src/daemon/MiddleWare.cpp +++ b/src/daemon/MiddleWare.cpp @@ -230,19 +230,23 @@ report_status_t Report(crash_data_t *client_report, } // Is it allowed for this user to report? - if (caller_uid != 0 // not called by root - && strcmp(to_string(caller_uid).c_str(), get_crash_item_content_or_die(stored_report, FILENAME_UID)) != 0 - ) { - const char *inform_all = get_crash_item_content_or_NULL(stored_report, FILENAME_INFORMALL); - if (!inform_all || !string_to_bool(inform_all)) + if (caller_uid != 0) // not called by root + { + char caller_uid_str[sizeof(long)*3 + 2]; + sprintf(caller_uid_str, "%ld", caller_uid); + if (strcmp(caller_uid_str, get_crash_item_content_or_die(stored_report, FILENAME_UID)) != 0) { - free_crash_data(stored_report); - char *errmsg = xasprintf("user with uid %ld can't report crash %s", caller_uid, dump_dir_name); - update_client("Reporting error: %s", errmsg); - ret[""].push_back("0"); // REPORT_STATUS_IDX_FLAG - ret[""].push_back(errmsg); // REPORT_STATUS_IDX_MSG - free(errmsg); - return ret; + const char *inform_all = get_crash_item_content_or_NULL(stored_report, FILENAME_INFORMALL); + if (!inform_all || !string_to_bool(inform_all)) + { + free_crash_data(stored_report); + char *errmsg = xasprintf("user with uid %ld can't report crash %s", caller_uid, dump_dir_name); + update_client("Reporting error: %s", errmsg); + ret[""].push_back("0"); // REPORT_STATUS_IDX_FLAG + ret[""].push_back(errmsg); // REPORT_STATUS_IDX_MSG + free(errmsg); + return ret; + } } } |