No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jeremy Soller 1e7a8b6b6f Merge branch 'master' into 'master'
Add mutable pointers

See merge request redox-os/va_list-rs!2
2018-06-21 15:06:32 +00:00
deps/helper Updates and support RedoxOS 2018-03-09 04:10:41 +00:00
src Add mutable pointers 2018-06-21 16:50:04 +02:00
tests Post merge updates 2018-03-09 04:13:13 +00:00
.gitignore Initial commit, amd64 "working" 2015-05-15 14:01:25 +08:00
.travis.yml Fix tests, add travis config 2015-08-24 11:33:55 +08:00
Cargo.toml Bump version, fix error in win64 2016-11-11 13:09:30 +08:00
LICENCE Rename the va_list type to VaList, update README and Cargo.toml 2015-05-15 18:22:47 +08:00
LICENSE-APACHE Relicense to dual MIT/Apache-2.0 2016-02-21 13:36:16 +11:00
LICENSE-MIT Relicense to dual MIT/Apache-2.0 2016-02-21 13:36:16 +11:00
README.md Relicense to dual MIT/Apache-2.0 2016-02-21 13:36:16 +11:00

Rust implementation of C's va_list type

Overview

This crate provides a rust VaListtype, which is binary-compatible for the C type of the same name. It is intended to allow rust code to provide the complex logic of variable argument functions.

Example

extern crate va_list;
use va_list::VaList;

extern "C" print_ints_va(count: u32, mut args: VaList)
{
	for i in (0 .. count) {
		println!("{}: {}", i, args.get::<i32>());
	}
}

Status

  • x86-64 linux/ELF ABI (aka System-V) : Tested in the wild, works relatively well
  • x86 linux/ELF ABI (sys-v) : Unit tested only

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.