From 0206262e06e93e561bcca97a98ac24463fa4b296 Mon Sep 17 00:00:00 2001 From: Markus Gans Date: Mon, 2 Oct 2023 02:16:05 +0200 Subject: [PATCH] C-style array to std::array --- final/fconfig.h | 4 +-- final/input/fkey_hashmap.h | 2 +- final/input/fkey_map.h | 6 ++-- final/input/fkeyboard.cpp | 2 +- final/output/tty/ftermcap.cpp | 4 +-- final/output/tty/ftermcap.h | 3 +- final/output/tty/ftermcapquirks.cpp | 4 +-- test/fkeyboard-test.cpp | 4 +-- test/ftermcapquirks-test.cpp | 54 ++++++++++++++--------------- 9 files changed, 42 insertions(+), 41 deletions(-) diff --git a/final/fconfig.h b/final/fconfig.h index f9384529..a2a48589 100644 --- a/final/fconfig.h +++ b/final/fconfig.h @@ -1,6 +1,6 @@ #ifndef _FINAL_FCONFIG_H #define _FINAL_FCONFIG_H 1 - + /* final/fconfig.h. Generated automatically at end of configure. */ /* config.h. Generated from config.h.in by configure. */ /* config.h.in. Generated from configure.ac by autoheader. */ @@ -263,6 +263,6 @@ /* Define to 1 if you need to in order for `stat' and other things to work. */ /* #undef _POSIX_SOURCE */ - + /* once: _FINAL_FCONFIG_H */ #endif diff --git a/final/input/fkey_hashmap.h b/final/input/fkey_hashmap.h index 1d2f7220..c142582e 100644 --- a/final/input/fkey_hashmap.h +++ b/final/input/fkey_hashmap.h @@ -191,7 +191,7 @@ auto createKeyMap() -> HashMap for (auto& item : fkey_table) if ( item.length != 0 ) // Note: item.string is an array and always allocated - fkey_map[{item.string, item.length}] = item.num; + fkey_map[{item.string.data(), item.length}] = item.num; return fkey_map; } diff --git a/final/input/fkey_map.h b/final/input/fkey_map.h index 85f154bb..55d62ccc 100644 --- a/final/input/fkey_map.h +++ b/final/input/fkey_map.h @@ -46,20 +46,20 @@ class FKeyMap final FKey num; const char* string; uInt8 length; - char tname[4]; + std::array tname; }; struct KeyMap { FKey num; - char string[8]; + std::array string; uInt8 length; }; struct KeyName { FKey num; - char string[26]; + std::array string; }; // Using-declaration diff --git a/final/input/fkeyboard.cpp b/final/input/fkeyboard.cpp index 3061c8bc..2369824e 100644 --- a/final/input/fkeyboard.cpp +++ b/final/input/fkeyboard.cpp @@ -111,7 +111,7 @@ auto FKeyboard::getKeyName (const FKey keynum) const -> FString ); if ( found_key != fkeyname.end() ) - return {found_key->string}; + return {found_key->string.data()}; if ( keynum > 32 && keynum < 127 ) return {char(keynum)}; diff --git a/final/output/tty/ftermcap.cpp b/final/output/tty/ftermcap.cpp index ad984ac4..79ae585c 100644 --- a/final/output/tty/ftermcap.cpp +++ b/final/output/tty/ftermcap.cpp @@ -450,7 +450,7 @@ void FTermcap::termcapStrings() // Read termcap output strings for (auto&& entry : strings) - entry.string = getString(entry.tname); + entry.string = getString(entry.tname.data()); const auto& ho = TCAP(t_cursor_home); @@ -476,7 +476,7 @@ void FTermcap::termcapKeys() if ( entry.string != nullptr ) // String is already set break; - entry.string = getString(entry.tname); + entry.string = getString(entry.tname.data()); entry.length = entry.string ? uInt8(finalcut::stringLength(entry.string)) : 0; } diff --git a/final/output/tty/ftermcap.h b/final/output/tty/ftermcap.h index 991d0981..00327b2b 100644 --- a/final/output/tty/ftermcap.h +++ b/final/output/tty/ftermcap.h @@ -72,7 +72,8 @@ class FTermcap final struct TCapMap { const char* string; - char tname[tname_size]; + //char tname[tname_size]; + std::array tname; }; // Using-declaration diff --git a/final/output/tty/ftermcapquirks.cpp b/final/output/tty/ftermcapquirks.cpp index 9e1ec279..efb46484 100644 --- a/final/output/tty/ftermcapquirks.cpp +++ b/final/output/tty/ftermcapquirks.cpp @@ -390,8 +390,8 @@ void FTermcapQuirks::sunConsole() const std::string& tname = key.first; const std::string& string = key.second; - if ( std::memcmp(fkey_cap_table[i].tname, tname.c_str(), tname.size()) == 0 - && stringLength(fkey_cap_table[i].tname) == tname.size() ) + if ( std::memcmp(fkey_cap_table[i].tname.data(), tname.c_str(), tname.size()) == 0 + && stringLength(fkey_cap_table[i].tname.data()) == tname.size() ) { fkey_cap_table[i].string = string.c_str(); } diff --git a/test/fkeyboard-test.cpp b/test/fkeyboard-test.cpp index faf40b7a..3516d850 100644 --- a/test/fkeyboard-test.cpp +++ b/test/fkeyboard-test.cpp @@ -429,7 +429,7 @@ void FKeyboardTest::noArgumentTest() // Check key map CPPUNIT_ASSERT ( test::fkey[0].num == finalcut::FKey::Backspace ); CPPUNIT_ASSERT_CSTRING ( test::fkey[0].string, "\177" ); - CPPUNIT_ASSERT_CSTRING ( test::fkey[0].tname, "kb" ); + CPPUNIT_ASSERT_CSTRING ( test::fkey[0].tname.data(), "kb" ); } //---------------------------------------------------------------------- @@ -446,7 +446,7 @@ void FKeyboardTest::KeyLengthTest() // Known key string length for (auto&& entry : finalcut::FKeyMap::getKeyMap()) { - const char* key_str = entry.string; + const char* key_str = entry.string.data(); const std::size_t len = finalcut::stringLength(key_str); CPPUNIT_ASSERT ( entry.length == len ); } diff --git a/test/ftermcapquirks-test.cpp b/test/ftermcapquirks-test.cpp index 3395b3ca..6676aabb 100644 --- a/test/ftermcapquirks-test.cpp +++ b/test/ftermcapquirks-test.cpp @@ -674,92 +674,92 @@ void FTermcapQuirksTest::sunTest() for (std::size_t i = 0; fkey_cap_table[i].tname[0] != 0; i++) { - if ( std::memcmp(fkey_cap_table[i].tname, "K2", 2) == 0 - && finalcut::stringLength(fkey_cap_table[i].tname) == 2 ) // center of keypad + if ( std::memcmp(fkey_cap_table[i].tname.data(), "K2", 2) == 0 + && finalcut::stringLength(fkey_cap_table[i].tname.data()) == 2 ) // center of keypad CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , CSI "218z" ); - if ( std::memcmp(fkey_cap_table[i].tname, "kb", 2) == 0 ) // backspace key + if ( std::memcmp(fkey_cap_table[i].tname.data(), "kb", 2) == 0 ) // backspace key CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , "\b" ); - if ( std::memcmp(fkey_cap_table[i].tname, "kD", 2) == 0 - && std::strlen(fkey_cap_table[i].tname) == 2 ) // delete-character key + if ( std::memcmp(fkey_cap_table[i].tname.data(), "kD", 2) == 0 + && std::strlen(fkey_cap_table[i].tname.data()) == 2 ) // delete-character key CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , "\177" ); - if ( std::memcmp(fkey_cap_table[i].tname, "@7", 2) == 0 - && finalcut::stringLength(fkey_cap_table[i].tname) == 2 ) // end key + if ( std::memcmp(fkey_cap_table[i].tname.data(), "@7", 2) == 0 + && finalcut::stringLength(fkey_cap_table[i].tname.data()) == 2 ) // end key CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , CSI "220z" ); - if ( std::memcmp(fkey_cap_table[i].tname, "k;", 2) == 0 ) // F10 function key + if ( std::memcmp(fkey_cap_table[i].tname.data(), "k;", 2) == 0 ) // F10 function key CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , CSI "233z" ); - if ( std::memcmp(fkey_cap_table[i].tname, "F1", 2) == 0 ) // F11 function key + if ( std::memcmp(fkey_cap_table[i].tname.data(), "F1", 2) == 0 ) // F11 function key CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , CSI "234z" ); - if ( std::memcmp(fkey_cap_table[i].tname, "F2", 2) == 0 ) // F12 function key + if ( std::memcmp(fkey_cap_table[i].tname.data(), "F2", 2) == 0 ) // F12 function key CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , CSI "235z" ); - if ( std::memcmp(fkey_cap_table[i].tname, "kh", 2) == 0 - && finalcut::stringLength(fkey_cap_table[i].tname) == 2 ) // home key + if ( std::memcmp(fkey_cap_table[i].tname.data(), "kh", 2) == 0 + && finalcut::stringLength(fkey_cap_table[i].tname.data()) == 2 ) // home key CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , CSI "214z" ); - if ( std::memcmp(fkey_cap_table[i].tname, "kI", 2) == 0 - && finalcut::stringLength(fkey_cap_table[i].tname) == 2 ) // insert-character key + if ( std::memcmp(fkey_cap_table[i].tname.data(), "kI", 2) == 0 + && finalcut::stringLength(fkey_cap_table[i].tname.data()) == 2 ) // insert-character key CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , CSI "247z" ); - if ( std::memcmp(fkey_cap_table[i].tname, "kN", 2) == 0 ) // next-page key + if ( std::memcmp(fkey_cap_table[i].tname.data(), "kN", 2) == 0 ) // next-page key CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , CSI "222z" ); - if ( std::memcmp(fkey_cap_table[i].tname, "%7", 2) == 0 ) // options key + if ( std::memcmp(fkey_cap_table[i].tname.data(), "%7", 2) == 0 ) // options key CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , CSI "194z" ); - if ( std::memcmp(fkey_cap_table[i].tname, "kP", 2) == 0 ) // prev-page key + if ( std::memcmp(fkey_cap_table[i].tname.data(), "kP", 2) == 0 ) // prev-page key CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , CSI "216z" ); - if ( std::memcmp(fkey_cap_table[i].tname, "&5", 2) == 0 ) // resume key + if ( std::memcmp(fkey_cap_table[i].tname.data(), "&5", 2) == 0 ) // resume key CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , CSI "193z" ); - if ( std::memcmp(fkey_cap_table[i].tname, "&8", 2) == 0 ) // undo key + if ( std::memcmp(fkey_cap_table[i].tname.data(), "&8", 2) == 0 ) // undo key CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , CSI "195z" ); - if ( std::memcmp(fkey_cap_table[i].tname, "K2", 2) == 0 - && finalcut::stringLength(fkey_cap_table[i].tname) == 2 ) // center of keypad + if ( std::memcmp(fkey_cap_table[i].tname.data(), "K2", 2) == 0 + && finalcut::stringLength(fkey_cap_table[i].tname.data()) == 2 ) // center of keypad CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , CSI "218z" ); - if ( std::memcmp(fkey_cap_table[i].tname, "kDx", 3) == 0 ) // keypad delete + if ( std::memcmp(fkey_cap_table[i].tname.data(), "kDx", 3) == 0 ) // keypad delete CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , CSI "249z" ); - if ( std::memcmp(fkey_cap_table[i].tname, "@8x", 3) == 0 ) // enter/send key + if ( std::memcmp(fkey_cap_table[i].tname.data(), "@8x", 3) == 0 ) // enter/send key CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , CSI "250z" ); - if ( std::memcmp(fkey_cap_table[i].tname, "KP1", 3) == 0 ) // keypad slash + if ( std::memcmp(fkey_cap_table[i].tname.data(), "KP1", 3) == 0 ) // keypad slash CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , CSI "212z" ); - if ( std::memcmp(fkey_cap_table[i].tname, "KP2", 3) == 0 ) // keypad asterisk + if ( std::memcmp(fkey_cap_table[i].tname.data(), "KP2", 3) == 0 ) // keypad asterisk CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , CSI "213z" ); - if ( std::memcmp(fkey_cap_table[i].tname, "KP3", 3) == 0 ) // keypad minus sign + if ( std::memcmp(fkey_cap_table[i].tname.data(), "KP3", 3) == 0 ) // keypad minus sign CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , CSI "254z" ); - if ( std::memcmp(fkey_cap_table[i].tname, "KP4", 3) == 0 ) // keypad plus sign + if ( std::memcmp(fkey_cap_table[i].tname.data(), "KP4", 3) == 0 ) // keypad plus sign CPPUNIT_ASSERT_CSTRING ( fkey_cap_table[i].string , CSI "253z" ); }