From c7cbf3382178aece5b731ae16a05003d66570028 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Tue, 1 Mar 2005 01:07:48 +0000 Subject: [PATCH] added small error checking on keymap source loading checks only the version number (should be 3 at the moment) git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11516 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/bin/keymap/Keymap.cpp | 3 +++ src/apps/bin/keymap/key_map.cpp | 20 ++++++++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/apps/bin/keymap/Keymap.cpp b/src/apps/bin/keymap/Keymap.cpp index c8fbaff7bb..917c681fa9 100644 --- a/src/apps/bin/keymap/Keymap.cpp +++ b/src/apps/bin/keymap/Keymap.cpp @@ -664,6 +664,9 @@ Keymap::LoadSource(FILE * f) } fCharsSize = offset; + + if (fKeys.version != 3) + return B_ERROR; return B_OK; } diff --git a/src/apps/bin/keymap/key_map.cpp b/src/apps/bin/keymap/key_map.cpp index 5155f40a4b..ee37605a39 100644 --- a/src/apps/bin/keymap/key_map.cpp +++ b/src/apps/bin/keymap/key_map.cpp @@ -59,7 +59,10 @@ main(int argc, char **argv) return 0; } else if (operation == 'l') { Keymap keymap; - keymap.LoadSource(stdin); + if (keymap.LoadSource(stdin)!=B_OK) { + printf("error when loading the keymap\n"); + return 1; + } keymap.SaveAsCurrent(); printf("Key map loaded.\n"); return 0; @@ -71,17 +74,22 @@ main(int argc, char **argv) entry_ref ref; get_ref_for_path(argv[i], &ref); Keymap keymap; - keymap.LoadSourceFromRef(ref); - + if (keymap.LoadSourceFromRef(ref)!=B_OK) { + printf("error when loading the keymap\n"); + return 1; + } keymap.Save(outputRef); return 0; } else if (operation == 'h') { entry_ref ref; get_ref_for_path(argv[i], &ref); Keymap keymap; - keymap.LoadSourceFromRef(ref); - - keymap.SaveAsHeader(outputRef); + if (keymap.LoadSourceFromRef(ref)!=B_OK) { + printf("error when loading the keymap\n"); + return 1; + } + keymap.Dump(); + keymap.SaveAsHeader(outputRef); return 0; } else break;