diff --git a/book.toml b/book.toml index b2c0d11..f51dfa3 100644 --- a/book.toml +++ b/book.toml @@ -1,5 +1,5 @@ [book] -author = "The Rust Project Developers" +authors = ["The Rust Project Developers"] title = "The Rustonomicon" description = "The Dark Arts of Advanced and Unsafe Rust Programming" diff --git a/src/exception-safety.md b/src/exception-safety.md index 762b38b..302ccd6 100644 --- a/src/exception-safety.md +++ b/src/exception-safety.md @@ -104,7 +104,7 @@ code and the unsafe code into two separate phases: ```text bubble_up(heap, index): let end_index = index; - while end_index != 0 && heap[end_index] < heap[parent(end_index)]: + while end_index != 0 && heap[index] < heap[parent(end_index)]: end_index = parent(end_index) let elem = heap[index] diff --git a/src/ffi.md b/src/ffi.md index 2f065a4..d88cfe2 100644 --- a/src/ffi.md +++ b/src/ffi.md @@ -25,7 +25,7 @@ libc = "0.2.0" Because [snappy](https://github.com/google/snappy) is a static library by default. So there is no C++ std linked in the output artifact. -n order to use this foreign library in Rust, we have to manually specify that we want to link stdc++ in our project. +In order to use this foreign library in Rust, we have to manually specify that we want to link stdc++ in our project. The easiest way to do this is by setting up a build script. First edit `Cargo.toml`, inside `package` add `build = "build.rs"`: @@ -90,7 +90,7 @@ The `extern` block can be extended to cover the entire snappy API: use libc::{c_int, size_t}; #[link(name = "snappy")] -unsafe extern { +unsafe extern "C" { fn snappy_compress(input: *const u8, input_length: size_t, compressed: *mut u8,