From b00721dd1e1058828a37244c7c3ae57d37dfafa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Tue, 31 Aug 2004 09:57:34 +0000 Subject: [PATCH] added error handling git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8743 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/bin/keymap/Keymap.cpp | 9 +++++++-- src/apps/bin/keymap/Keymap.h | 2 +- src/apps/bin/keymap/key_map.cpp | 3 ++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/apps/bin/keymap/Keymap.cpp b/src/apps/bin/keymap/Keymap.cpp index b64bdf3c80..899bdda0fd 100644 --- a/src/apps/bin/keymap/Keymap.cpp +++ b/src/apps/bin/keymap/Keymap.cpp @@ -220,13 +220,18 @@ Keymap::Dump() } -void +status_t Keymap::LoadCurrent() { - key_map *keys; + key_map *keys = NULL; get_key_map(&keys, &fChars); + if (!keys) { + fprintf(stderr, "error while getting current keymap!\n"); + return B_ERROR; + } memcpy(&fKeys, keys, sizeof(fKeys)); delete keys; + return B_OK; } /* diff --git a/src/apps/bin/keymap/Keymap.h b/src/apps/bin/keymap/Keymap.h index da9da2c8d6..716f6f060f 100644 --- a/src/apps/bin/keymap/Keymap.h +++ b/src/apps/bin/keymap/Keymap.h @@ -23,7 +23,7 @@ class Keymap { public: - void LoadCurrent(); + status_t LoadCurrent(); status_t Load(entry_ref &ref); status_t Save(entry_ref &ref); status_t LoadSource(FILE *f); diff --git a/src/apps/bin/keymap/key_map.cpp b/src/apps/bin/keymap/key_map.cpp index e9b8f90c63..43f37d93b3 100644 --- a/src/apps/bin/keymap/key_map.cpp +++ b/src/apps/bin/keymap/key_map.cpp @@ -46,7 +46,8 @@ int main(int argc, char **argv) break; if (operation == 'd') { Keymap keymap; - keymap.LoadCurrent(); + if (keymap.LoadCurrent() != B_OK) + return 1; keymap.Dump(); return 0; } else if (operation == 'r') {