From 159faa1e2b4326bcae2fab6bb082ba002c49f7e8 Mon Sep 17 00:00:00 2001
From: Mark Haines <mark.haines@matrix.org>
Date: Tue, 18 Aug 2015 17:09:55 +0100
Subject: [PATCH] Make the internal functions static, remove some unused
 internal functions

---
 src/account.cpp | 46 ++++++----------------------------------------
 src/crypto.cpp  |  4 ++--
 src/message.cpp | 20 ++++++++++----------
 src/ratchet.cpp | 12 ++++++------
 src/session.cpp |  2 +-
 5 files changed, 25 insertions(+), 59 deletions(-)

diff --git a/src/account.cpp b/src/account.cpp
index cf6f0cb..d0ef838 100644
--- a/src/account.cpp
+++ b/src/account.cpp
@@ -69,26 +69,11 @@ std::size_t olm::Account::new_account(
 
 namespace {
 
-
-namespace {
 uint8_t KEY_JSON_ED25519[] = "\"ed25519\":";
 uint8_t KEY_JSON_CURVE25519[] = "\"curve25519\":";
-}
-
-
-std::size_t count_digits(
-    std::uint64_t value
-) {
-    std::size_t digits = 0;
-    do {
-        digits++;
-        value /= 10;
-    } while (value);
-    return digits;
-}
 
 template<typename T>
-std::uint8_t * write_string(
+static std::uint8_t * write_string(
     std::uint8_t * pos,
     T const & value
 ) {
@@ -96,27 +81,6 @@ std::uint8_t * write_string(
     return pos + (sizeof(T) - 1);
 }
 
-std::uint8_t * write_string(
-    std::uint8_t * pos,
-    std::uint8_t const * value, std::size_t value_length
-) {
-    std::memcpy(pos, value, value_length);
-    return pos + value_length;
-}
-
-std::uint8_t * write_digits(
-    std::uint8_t * pos,
-    std::uint64_t value
-) {
-    size_t digits = count_digits(value);
-    pos += digits;
-    do {
-        *(--pos) = '0' + (value % 10);
-        value /= 10;
-    } while (value);
-    return pos + digits;
-}
-
 }
 
 
@@ -196,19 +160,20 @@ std::size_t olm::Account::sign(
 std::size_t olm::Account::get_one_time_keys_json_length(
 ) {
     std::size_t length = 0;
+    bool is_empty = true;
     for (auto const & key : one_time_keys) {
         if (key.published) {
             continue;
         }
+        is_empty = false;
         length += 2; /* {" */
         length += olm::encode_base64_length(olm::pickle_length(key.id));
         length += 3; /* ":" */
         length += olm::encode_base64_length(sizeof(key.key.public_key));
         length += 1; /* " */
     }
-    if (length == 0) {
-        /* The list was empty. Add a byte for the opening '{' */
-        length = 1;
+    if (is_empty) {
+        length += 1; /* { */
     }
     length += 3; /* }{} */
     length += sizeof(KEY_JSON_CURVE25519) - 1;
@@ -244,6 +209,7 @@ std::size_t olm::Account::get_one_time_keys_json(
         sep = ',';
     }
     if (sep != ',') {
+        /* The list was empty */
         *(pos++) = sep;
     }
     *(pos++) = '}';
diff --git a/src/crypto.cpp b/src/crypto.cpp
index ed89d64..fffda4c 100644
--- a/src/crypto.cpp
+++ b/src/crypto.cpp
@@ -99,7 +99,7 @@ inline static void hmac_sha256_key(
 }
 
 
-inline void hmac_sha256_init(
+inline static void hmac_sha256_init(
     ::SHA256_CTX * context,
     std::uint8_t const * hmac_key
 ) {
@@ -114,7 +114,7 @@ inline void hmac_sha256_init(
 }
 
 
-inline void hmac_sha256_final(
+inline static void hmac_sha256_final(
     ::SHA256_CTX * context,
     std::uint8_t const * hmac_key,
     std::uint8_t * output
diff --git a/src/message.cpp b/src/message.cpp
index f98dfe5..05f707f 100644
--- a/src/message.cpp
+++ b/src/message.cpp
@@ -17,7 +17,7 @@
 namespace {
 
 template<typename T>
-std::size_t varint_length(
+static std::size_t varint_length(
     T value
 ) {
     std::size_t result = 1;
@@ -30,7 +30,7 @@ std::size_t varint_length(
 
 
 template<typename T>
-std::uint8_t * varint_encode(
+static std::uint8_t * varint_encode(
     std::uint8_t * output,
     T value
 ) {
@@ -44,7 +44,7 @@ std::uint8_t * varint_encode(
 
 
 template<typename T>
-T varint_decode(
+static T varint_decode(
     std::uint8_t const * varint_start,
     std::uint8_t const * varint_end
 ) {
@@ -60,7 +60,7 @@ T varint_decode(
 }
 
 
-std::uint8_t const * varint_skip(
+static std::uint8_t const * varint_skip(
     std::uint8_t const * input,
     std::uint8_t const * input_end
 ) {
@@ -74,7 +74,7 @@ std::uint8_t const * varint_skip(
 }
 
 
-std::size_t varstring_length(
+static std::size_t varstring_length(
     std::size_t string_length
 ) {
     return varint_length(string_length) + string_length;
@@ -85,7 +85,7 @@ static std::uint8_t const RATCHET_KEY_TAG = 012;
 static std::uint8_t const COUNTER_TAG = 020;
 static std::uint8_t const CIPHERTEXT_TAG = 042;
 
-std::uint8_t * encode(
+static std::uint8_t * encode(
     std::uint8_t * pos,
     std::uint8_t tag,
     std::uint32_t value
@@ -94,7 +94,7 @@ std::uint8_t * encode(
     return varint_encode(pos, value);
 }
 
-std::uint8_t * encode(
+static std::uint8_t * encode(
     std::uint8_t * pos,
     std::uint8_t tag,
     std::uint8_t * & value, std::size_t value_length
@@ -105,7 +105,7 @@ std::uint8_t * encode(
     return pos + value_length;
 }
 
-std::uint8_t const * decode(
+static std::uint8_t const * decode(
     std::uint8_t const * pos, std::uint8_t const * end,
     std::uint8_t tag,
     std::uint32_t & value, bool & has_value
@@ -121,7 +121,7 @@ std::uint8_t const * decode(
 }
 
 
-std::uint8_t const * decode(
+static std::uint8_t const * decode(
     std::uint8_t const * pos, std::uint8_t const * end,
     std::uint8_t tag,
     std::uint8_t const * & value, std::size_t & value_length
@@ -139,7 +139,7 @@ std::uint8_t const * decode(
     return pos;
 }
 
-std::uint8_t const * skip_unknown(
+static std::uint8_t const * skip_unknown(
     std::uint8_t const * pos, std::uint8_t const * end
 ) {
     if (pos != end) {
diff --git a/src/ratchet.cpp b/src/ratchet.cpp
index b9108db..110ea93 100644
--- a/src/ratchet.cpp
+++ b/src/ratchet.cpp
@@ -29,7 +29,7 @@ std::uint8_t MESSAGE_KEY_SEED[1] = {0x01};
 std::uint8_t CHAIN_KEY_SEED[1] = {0x02};
 std::size_t MAX_MESSAGE_GAP = 2000;
 
-void create_chain_key(
+static void create_chain_key(
     olm::SharedKey const & root_key,
     olm::Curve25519KeyPair const & our_key,
     olm::Curve25519PublicKey const & their_key,
@@ -54,7 +54,7 @@ void create_chain_key(
 }
 
 
-void advance_chain_key(
+static void advance_chain_key(
     olm::ChainKey const & chain_key,
     olm::ChainKey & new_chain_key
 ) {
@@ -67,7 +67,7 @@ void advance_chain_key(
 }
 
 
-void create_message_keys(
+static void create_message_keys(
     olm::ChainKey const & chain_key,
     olm::KdfInfo const & info,
     olm::MessageKey & message_key
@@ -81,7 +81,7 @@ void create_message_keys(
 }
 
 
-std::size_t verify_mac_and_decrypt(
+static std::size_t verify_mac_and_decrypt(
     olm::Cipher const & cipher,
     olm::MessageKey const & message_key,
     olm::MessageReader const & reader,
@@ -96,7 +96,7 @@ std::size_t verify_mac_and_decrypt(
 }
 
 
-std::size_t verify_mac_and_decrypt_for_existing_chain(
+static std::size_t verify_mac_and_decrypt_for_existing_chain(
     olm::Ratchet const & session,
     olm::ChainKey const & chain,
     olm::MessageReader const & reader,
@@ -130,7 +130,7 @@ std::size_t verify_mac_and_decrypt_for_existing_chain(
 }
 
 
-std::size_t verify_mac_and_decrypt_for_new_chain(
+static std::size_t verify_mac_and_decrypt_for_new_chain(
     olm::Ratchet const & session,
     olm::MessageReader const & reader,
     std::uint8_t * plaintext, std::size_t max_plaintext_length
diff --git a/src/session.cpp b/src/session.cpp
index b17a059..18f0000 100644
--- a/src/session.cpp
+++ b/src/session.cpp
@@ -101,7 +101,7 @@ std::size_t olm::Session::new_outbound_session(
 
 namespace {
 
-bool check_message_fields(
+static bool check_message_fields(
     olm::PreKeyMessageReader & reader, bool have_their_identity_key
 ) {
     bool ok = true;
-- 
GitLab