Skip to content

Commit

Permalink
C-style array to std::array
Browse files Browse the repository at this point in the history
  • Loading branch information
gansm committed Oct 2, 2023
1 parent e6b90de commit 0206262
Show file tree
Hide file tree
Showing 9 changed files with 42 additions and 41 deletions.
4 changes: 2 additions & 2 deletions final/fconfig.h
Original file line number Diff line number Diff line change
@@ -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. */
Expand Down Expand Up @@ -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
2 changes: 1 addition & 1 deletion final/input/fkey_hashmap.h
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ auto createKeyMap() -> HashMap<BufferT>

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;
}
Expand Down
6 changes: 3 additions & 3 deletions final/input/fkey_map.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,20 +46,20 @@ class FKeyMap final
FKey num;
const char* string;
uInt8 length;
char tname[4];
std::array<char, 4> tname;
};

struct KeyMap
{
FKey num;
char string[8];
std::array<char, 8> string;
uInt8 length;
};

struct KeyName
{
FKey num;
char string[26];
std::array<char, 26> string;
};

// Using-declaration
Expand Down
2 changes: 1 addition & 1 deletion final/input/fkeyboard.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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)};
Expand Down
4 changes: 2 additions & 2 deletions final/output/tty/ftermcap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand All @@ -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;
}

Expand Down
3 changes: 2 additions & 1 deletion final/output/tty/ftermcap.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,8 @@ class FTermcap final
struct TCapMap
{
const char* string;
char tname[tname_size];
//char tname[tname_size];
std::array<char, tname_size> tname;
};

// Using-declaration
Expand Down
4 changes: 2 additions & 2 deletions final/output/tty/ftermcapquirks.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}
Expand Down
4 changes: 2 additions & 2 deletions test/fkeyboard-test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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" );
}

//----------------------------------------------------------------------
Expand All @@ -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 );
}
Expand Down
54 changes: 27 additions & 27 deletions test/ftermcapquirks-test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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" );
}
Expand Down

0 comments on commit 0206262

Please sign in to comment.