Skip to content
This repository was archived by the owner on May 6, 2024. It is now read-only.

Commit c519c1a

Browse files
authored
Review expect/unwrap - Take 2 (#162)
1 parent 05be4f2 commit c519c1a

File tree

21 files changed

+283
-244
lines changed

21 files changed

+283
-244
lines changed

examples/ffi/c++/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ int main(int argc, char *argv[]) {
1717
std::cerr << filecoin_signer_error_message(error);
1818
}
1919
else {
20-
char *private_key = filecoin_signer_extended_key_private_key(extended_key);
20+
char *private_key = filecoin_signer_extended_key_private_key(extended_key, error);
2121
assert(strcmp(private_key, "f15716d3b003b304b8055d9cc62e6b9c869d56cc930c3858d4d7c31f5f53f14a") == 0);
2222
filecoin_signer_string_free(private_key);
2323
}

examples/ffi/c/main.c

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,20 @@
44

55
#include "filecoin_signer_ffi.h"
66

7+
void free_resources(ExtendedKey *extended_key, ExternError *error) {
8+
filecoin_signer_extended_key_free(extended_key);
9+
filecoin_signer_error_free(error);
10+
}
11+
12+
void manage_error(ExtendedKey *extended_key, ExternError *error) {
13+
if (filecoin_signer_error_code(error) == 0) {
14+
return;
15+
}
16+
fprintf(stderr, "%s\n", filecoin_signer_error_message(error));
17+
free_resources(extended_key, error);
18+
exit(EXIT_FAILURE);
19+
}
20+
721
int main(int argc, char *argv[]) {
822
ExternError *error = filecoin_signer_error_new();
923
ExtendedKey *extended_key = filecoin_signer_key_derive(
@@ -12,16 +26,10 @@ int main(int argc, char *argv[]) {
1226
"",
1327
error
1428
);
15-
16-
if (filecoin_signer_error_code(error) != 0) {
17-
fprintf(stderr, "%s\n", filecoin_signer_error_message(error));
18-
}
19-
else {
20-
char *private_key = filecoin_signer_extended_key_private_key(extended_key);
21-
assert(strcmp(private_key, "f15716d3b003b304b8055d9cc62e6b9c869d56cc930c3858d4d7c31f5f53f14a") == 0);
22-
filecoin_signer_string_free(private_key);
23-
}
24-
25-
filecoin_signer_extended_key_free(extended_key);
26-
filecoin_signer_error_free(error);
27-
}
29+
manage_error(extended_key, error);
30+
char *private_key = filecoin_signer_extended_key_private_key(extended_key, error);
31+
manage_error(extended_key, error);
32+
assert(strcmp(private_key, "f15716d3b003b304b8055d9cc62e6b9c869d56cc930c3858d4d7c31f5f53f14a") == 0);
33+
filecoin_signer_string_free(private_key);
34+
free_resources(extended_key, error);
35+
}

examples/ffi/flutter/lib/main.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class _MyAppState extends State<MyApp> {
2626
stderr.write(Filecoin.errorMessage(error));
2727
}
2828
else {
29-
var privateKeyPtr = Filecoin.extendedKeyPrivateKey(extendedKey);
29+
var privateKeyPtr = Filecoin.extendedKeyPrivateKey(extendedKey, error);
3030
privateKey = Utf8.fromUtf8(privateKeyPtr);
3131
assert(privateKey == 'f15716d3b003b304b8055d9cc62e6b9c869d56cc930c3858d4d7c31f5f53f14a');
3232
Filecoin.stringFree(privateKeyPtr);

examples/ffi/go/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ func main() {
2121
err := C.filecoin_signer_error_message(error);
2222
fmt.Fprintln(os.Stderr, C.GoString(err))
2323
} else {
24-
private_key := C.filecoin_signer_extended_key_private_key(extended_key);
24+
private_key := C.filecoin_signer_extended_key_private_key(extended_key, error);
2525
if C.GoString(private_key) != "f15716d3b003b304b8055d9cc62e6b9c869d56cc930c3858d4d7c31f5f53f14a" {
2626
panic("Bad key");
2727
}

examples/ffi/java/Main.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public static void main(String[] args) {
1414
System.err.println(FilecoinSigner.errorMessage(error));
1515
}
1616
else {
17-
String privateKey = FilecoinSigner.extendedKeyPrivateKey(extendedKey);
17+
String privateKey = FilecoinSigner.extendedKeyPrivateKey(extendedKey, error);
1818
assert privateKey.equals("f15716d3b003b304b8055d9cc62e6b9c869d56cc930c3858d4d7c31f5f53f14a");
1919
}
2020

examples/ffi/kotlin/Main.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ fun main() {
1313
System.err.println(FilecoinSigner.errorMessage(error))
1414
}
1515
else {
16-
val privateKey = FilecoinSigner.extendedKeyPrivateKey(extendedKey);
16+
val privateKey = FilecoinSigner.extendedKeyPrivateKey(extendedKey, error);
1717
assert(privateKey == "f15716d3b003b304b8055d9cc62e6b9c869d56cc930c3858d4d7c31f5f53f14a")
1818
}
1919

examples/ffi/objective-c/main.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ int main(int argc, char *argv[]) {
1717
fprintf(stderr, "%s\n", filecoin_signer_error_message(error));
1818
}
1919
else {
20-
char *private_key = filecoin_signer_extended_key_private_key(extended_key);
20+
char *private_key = filecoin_signer_extended_key_private_key(extended_key, error);
2121
assert([[NSString stringWithUTF8String:private_key] isEqualToString:@"f15716d3b003b304b8055d9cc62e6b9c869d56cc930c3858d4d7c31f5f53f14a"]);
2222
filecoin_signer_string_free(private_key);
2323
}

examples/ffi/swift/main.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ if (filecoin_signer_error_code(error) != 0) {
1111
fputs(err, stderr)
1212
}
1313
else {
14-
let private_key = filecoin_signer_extended_key_private_key(extended_key);
14+
let private_key = filecoin_signer_extended_key_private_key(extended_key, error);
1515
assert(String(cString: private_key!) == "f15716d3b003b304b8055d9cc62e6b9c869d56cc930c3858d4d7c31f5f53f14a");
1616
filecoin_signer_string_free(private_key);
1717
}

ledger/src/lib.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,15 @@
1515
********************************************************************************/
1616
//! Support library for Filecoin Ledger Nano S/X apps
1717
18+
#![cfg_attr(
19+
not(test),
20+
deny(
21+
clippy::option_unwrap_used,
22+
clippy::option_expect_used,
23+
clippy::result_unwrap_used,
24+
clippy::result_expect_used,
25+
)
26+
)]
1827
#![deny(warnings, trivial_casts, trivial_numeric_casts)]
1928
#![deny(unused_import_braces, unused_qualifications)]
2029
#![deny(missing_docs)]

service/src/lib.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,15 @@
66
77
// Tip: Deny warnings with `RUSTFLAGS="-D warnings"` environment variable in CI
88

9+
#![cfg_attr(
10+
not(test),
11+
deny(
12+
clippy::option_unwrap_used,
13+
clippy::option_expect_used,
14+
clippy::result_unwrap_used,
15+
clippy::result_expect_used,
16+
)
17+
)]
918
#![forbid(unsafe_code)]
1019
#![warn(
1120
missing_docs,

0 commit comments

Comments
 (0)