Skip to content

Improve handling of non-unicode C strings#34

Open
ghost wants to merge 4 commits intoskade:masterfrom
vectordotdev:non-unicode
Open

Improve handling of non-unicode C strings#34
ghost wants to merge 4 commits intoskade:masterfrom
vectordotdev:non-unicode

Conversation

@ghost
Copy link

@ghost ghost commented Oct 31, 2019

This PR is supposed to be merged after #33.

Currently this code results in a panic on Linux:

use leveldb::{database::Database, options::Options};
use std::{ffi::OsStr, os::unix::ffi::OsStrExt, path::Path};

fn main() {
    let _ = Database::<i32>::open(Path::new(OsStr::from_bytes(b"/\xc3\x28")), Options::new())
        .map_err(|e| println!("{:?}", e));
}

With this PR it doesn't panic, but prints

Error { message: "The error returned by LevelDB is not valid UTF-8" }

Signed-off-by: Alexander Rodin <rodin.alexander@gmail.com>
Signed-off-by: Alexander Rodin <rodin.alexander@gmail.com>
Signed-off-by: Alexander Rodin <rodin.alexander@gmail.com>
Signed-off-by: Alexander Rodin <rodin.alexander@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant