| Index: runtime/bin/utils.h
|
| diff --git a/runtime/bin/utils.h b/runtime/bin/utils.h
|
| index f8f77661a257d194abb0265847fa88755b467a40..7f0e41fa61d080a08e1ebb556b5a2f8818c0958f 100644
|
| --- a/runtime/bin/utils.h
|
| +++ b/runtime/bin/utils.h
|
| @@ -13,17 +13,27 @@
|
|
|
| class OSError {
|
| public:
|
| + enum SubSystem {
|
| + kSystem,
|
| + kGetAddressInfo,
|
| + kUnknown = -1
|
| + };
|
| +
|
| OSError();
|
| - OSError(int code, char* message) {
|
| + OSError(int code, const char* message, SubSystem sub_system) {
|
| + sub_system_ = sub_system;
|
| code_ = code;
|
| + message_ = NULL; // SetMessage will free existing message.
|
| SetMessage(message);
|
| }
|
| virtual ~OSError() { free(message_); }
|
|
|
| + SubSystem sub_system() { return sub_system_; }
|
| + void set_sub_system(SubSystem sub_system) { sub_system_ = sub_system; }
|
| int code() { return code_; }
|
| void set_code(int code) { code_ = code; }
|
| char* message() { return message_; }
|
| - void SetMessage(char* message) {
|
| + void SetMessage(const char* message) {
|
| free(message_);
|
| if (message == NULL) {
|
| message_ = NULL;
|
| @@ -33,6 +43,7 @@ class OSError {
|
| }
|
|
|
| private:
|
| + SubSystem sub_system_;
|
| int code_;
|
| char* message_;
|
|
|
|
|