Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
matrix-org
Olm
Commits
11dbf2aa
Commit
11dbf2aa
authored
Apr 26, 2016
by
Richard van der Hoff
Browse files
Fix a bunch of compiler warnings, and turn on warnings.
parent
9b010290
Changes
9
Show whitespace changes
Inline
Side-by-side
build_shared_library.py
View file @
11dbf2aa
...
...
@@ -23,7 +23,7 @@ if not os.path.exists("build"):
source_files
=
glob
.
glob
(
"src/*.cpp"
)
compile_args
=
"g++ -O3 -Iinclude -Ilib --std=c++11 --shared -fPIC"
.
split
()
compile_args
=
"g++
-Wall
-O3 -Iinclude -Ilib --std=c++11 --shared -fPIC"
.
split
()
compile_args
+=
source_files
compile_args
+=
sys
.
argv
[
1
:]
...
...
include/olm/base64.hh
View file @
11dbf2aa
...
...
@@ -23,11 +23,9 @@ namespace olm {
/**
* The number of bytes of unpadded base64 needed to encode a length of input.
*/
static
std
::
size_t
encode_base64_length
(
std
::
size_t
encode_base64_length
(
std
::
size_t
input_length
)
{
return
4
*
((
input_length
+
2
)
/
3
)
+
(
input_length
+
2
)
%
3
-
2
;
}
);
/**
* Encode the raw input as unpadded base64.
...
...
include/olm/pickle.hh
View file @
11dbf2aa
...
...
@@ -23,58 +23,38 @@
namespace
olm
{
static
std
::
size_t
pickle_length
(
inline
std
::
size_t
pickle_length
(
const
std
::
uint32_t
&
value
)
{
return
4
;
}
static
std
::
uint8_t
*
pickle
(
std
::
uint8_t
*
pickle
(
std
::
uint8_t
*
pos
,
std
::
uint32_t
value
)
{
pos
+=
4
;
for
(
unsigned
i
=
4
;
i
--
;)
{
*
(
--
pos
)
=
value
;
value
>>=
8
;
}
return
pos
+
4
;
}
);
static
std
::
uint8_t
const
*
unpickle
(
std
::
uint8_t
const
*
unpickle
(
std
::
uint8_t
const
*
pos
,
std
::
uint8_t
const
*
end
,
std
::
uint32_t
&
value
)
{
value
=
0
;
if
(
end
-
pos
<
4
)
return
end
;
for
(
unsigned
i
=
4
;
i
--
;)
{
value
<<=
8
;
value
|=
*
(
pos
++
);
}
return
pos
;
}
);
static
std
::
size_t
pickle_length
(
inline
std
::
size_t
pickle_length
(
const
bool
&
value
)
{
return
1
;
}
static
std
::
uint8_t
*
pickle
(
std
::
uint8_t
*
pickle
(
std
::
uint8_t
*
pos
,
bool
value
)
{
*
(
pos
++
)
=
value
?
1
:
0
;
return
pos
;
}
);
static
std
::
uint8_t
const
*
unpickle
(
std
::
uint8_t
const
*
unpickle
(
std
::
uint8_t
const
*
pos
,
std
::
uint8_t
const
*
end
,
bool
&
value
)
{
if
(
pos
==
end
)
return
end
;
value
=
*
(
pos
++
);
return
pos
;
}
);
template
<
typename
T
,
std
::
size_t
max_size
>
...
...
@@ -117,23 +97,15 @@ std::uint8_t const * unpickle(
}
static
std
::
uint8_t
*
pickle_bytes
(
std
::
uint8_t
*
pickle_bytes
(
std
::
uint8_t
*
pos
,
std
::
uint8_t
const
*
bytes
,
std
::
size_t
bytes_length
)
{
std
::
memcpy
(
pos
,
bytes
,
bytes_length
);
return
pos
+
bytes_length
;
}
);
static
std
::
uint8_t
const
*
unpickle_bytes
(
std
::
uint8_t
const
*
unpickle_bytes
(
std
::
uint8_t
const
*
pos
,
std
::
uint8_t
const
*
end
,
std
::
uint8_t
*
bytes
,
std
::
size_t
bytes_length
)
{
if
(
end
-
pos
<
bytes_length
)
return
end
;
std
::
memcpy
(
bytes
,
pos
,
bytes_length
);
return
pos
+
bytes_length
;
}
);
std
::
size_t
pickle_length
(
...
...
include/olm/session.hh
View file @
11dbf2aa
...
...
@@ -19,7 +19,7 @@
namespace
olm
{
class
Account
;
struct
Account
;
enum
struct
MessageType
{
PRE_KEY
=
0
,
...
...
include/olm/utility.hh
View file @
11dbf2aa
...
...
@@ -23,7 +23,7 @@
namespace
olm
{
class
Ed25519PublicKey
;
struct
Ed25519PublicKey
;
struct
Utility
{
...
...
javascript/build.py
View file @
11dbf2aa
...
...
@@ -45,6 +45,7 @@ optimize_opts = os.environ.get("OPTIMIZE_FLAGS", "-O3")
compile_args
=
[
emcc
]
compile_args
+=
optimize_opts
.
split
()
compile_args
+=
[
"-Wall"
]
compile_args
+=
"""
-Iinclude
-Ilib
...
...
src/base64.cpp
View file @
11dbf2aa
...
...
@@ -45,6 +45,12 @@ static const std::uint8_t DECODE_BASE64[128] = {
}
// namespace
std
::
size_t
olm
::
encode_base64_length
(
std
::
size_t
input_length
)
{
return
4
*
((
input_length
+
2
)
/
3
)
+
(
input_length
+
2
)
%
3
-
2
;
}
std
::
uint8_t
*
olm
::
encode_base64
(
std
::
uint8_t
const
*
input
,
std
::
size_t
input_length
,
std
::
uint8_t
*
output
...
...
src/message.cpp
View file @
11dbf2aa
...
...
@@ -136,7 +136,7 @@ static std::uint8_t const * decode(
std
::
uint8_t
const
*
len_start
=
pos
;
pos
=
varint_skip
(
pos
,
end
);
std
::
size_t
len
=
varint_decode
<
std
::
size_t
>
(
len_start
,
pos
);
if
(
len
>
end
-
pos
)
return
end
;
if
(
len
+
pos
>
end
)
return
end
;
value
=
pos
;
value_length
=
len
;
pos
+=
len
;
...
...
@@ -157,7 +157,7 @@ static std::uint8_t const * skip_unknown(
std
::
uint8_t
const
*
len_start
=
pos
;
pos
=
varint_skip
(
pos
,
end
);
std
::
size_t
len
=
varint_decode
<
std
::
size_t
>
(
len_start
,
pos
);
if
(
len
>
end
-
pos
)
return
end
;
if
(
len
+
pos
>
end
)
return
end
;
pos
+=
len
;
}
else
{
return
end
;
...
...
src/pickle.cpp
View file @
11dbf2aa
...
...
@@ -14,6 +14,60 @@
*/
#include "olm/pickle.hh"
std
::
uint8_t
*
olm
::
pickle
(
std
::
uint8_t
*
pos
,
std
::
uint32_t
value
)
{
pos
+=
4
;
for
(
unsigned
i
=
4
;
i
--
;)
{
*
(
--
pos
)
=
value
;
value
>>=
8
;
}
return
pos
+
4
;
}
std
::
uint8_t
const
*
olm
::
unpickle
(
std
::
uint8_t
const
*
pos
,
std
::
uint8_t
const
*
end
,
std
::
uint32_t
&
value
)
{
value
=
0
;
if
(
end
<
pos
+
4
)
return
end
;
for
(
unsigned
i
=
4
;
i
--
;)
{
value
<<=
8
;
value
|=
*
(
pos
++
);
}
return
pos
;
}
std
::
uint8_t
*
olm
::
pickle
(
std
::
uint8_t
*
pos
,
bool
value
)
{
*
(
pos
++
)
=
value
?
1
:
0
;
return
pos
;
}
std
::
uint8_t
const
*
olm
::
unpickle
(
std
::
uint8_t
const
*
pos
,
std
::
uint8_t
const
*
end
,
bool
&
value
)
{
if
(
pos
==
end
)
return
end
;
value
=
*
(
pos
++
);
return
pos
;
}
std
::
uint8_t
*
olm
::
pickle_bytes
(
std
::
uint8_t
*
pos
,
std
::
uint8_t
const
*
bytes
,
std
::
size_t
bytes_length
)
{
std
::
memcpy
(
pos
,
bytes
,
bytes_length
);
return
pos
+
bytes_length
;
}
std
::
uint8_t
const
*
olm
::
unpickle_bytes
(
std
::
uint8_t
const
*
pos
,
std
::
uint8_t
const
*
end
,
std
::
uint8_t
*
bytes
,
std
::
size_t
bytes_length
)
{
if
(
end
<
pos
+
bytes_length
)
return
end
;
std
::
memcpy
(
bytes
,
pos
,
bytes_length
);
return
pos
+
bytes_length
;
}
std
::
size_t
olm
::
pickle_length
(
const
olm
::
Curve25519PublicKey
&
value
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment