summaryrefslogtreecommitdiffstats
path: root/third_party/rust/encoding_c_mem/README.md
blob: 59c7abe607402920c7fa50e874cc081cc16512ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# encoding_c_mem

[![crates.io](https://meritbadge.herokuapp.com/encoding_c_mem)](https://crates.io/crates/encoding_c_mem)
[![docs.rs](https://docs.rs/encoding_c_mem/badge.svg)](https://docs.rs/encoding_c_mem/)
[![Apache 2 / MIT dual-licensed](https://img.shields.io/badge/license-Apache%202%20%2F%20MIT-blue.svg)](https://github.com/hsivonen/encoding_c_mem/blob/master/COPYRIGHT)

encoding_c_mem is an FFI wrapper for the `mem` module of [encoding_rs](https://github.com/hsivonen/encoding_rs).

## Licensing

Please see the file named
[COPYRIGHT](https://github.com/hsivonen/encoding_c_mem/blob/master/COPYRIGHT).

## No Unwinding Support!

This crate is meant for use in binaries compiled with `panic = 'abort'`, which
is _required_ for correctness! Unwinding across FFI is Undefined Behavior, and
this crate does nothing to try to prevent unwinding across the FFI if
compiled with unwinding enabled.

## Release Notes

### 0.2.6

* Remove year from copyright notices.

### 0.2.5

* Specify a `links` value in the Cargo manifest.
* Emit an `include_dir` variable from build script so that other build scripts
  depending on this crate can rely on it.

### 0.2.4

* Documentation-only fix.

### 0.2.3

* Documentation-only fix.

### 0.2.2

* Wrap `convert_utf8_to_utf16_without_replacement`, `utf8_latin1_up_to`,
  and `str_latin1_up_to`.

### 0.2.1

* Fix a typo in README.

### 0.2.0

* Use `char` instead of `uint8_t` for 8-bit-unit text in C and C++.

### 0.1.1

* Add include guard to the C header.

### 0.1.0

* Initial release of encoding_c_mem.