/va_list-rs

A rust implementation of the va_list type from `stdarg.h`

Primary LanguageRustMIT LicenseMIT

Rust implementation of C's va_list type

Overview

This crate provides a rust VaListtype, which is binary-compatible for the C va_list type. 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.