diff options
| author | newpavlov <newpavlov@gmail.com> | 2019-08-20 19:16:01 +0300 |
|---|---|---|
| committer | newpavlov <newpavlov@gmail.com> | 2019-08-20 19:16:01 +0300 |
| commit | 4dee102a67466ca0c95f540aa458f8779f3a1cb5 (patch) | |
| tree | 91294cf49e9168903f5e166e151489495ccc957d /src | |
| parent | 7daf890d752c79b554528716fedd5f0b9abc8914 (diff) | |
| download | rust-4dee102a67466ca0c95f540aa458f8779f3a1cb5.tar.gz rust-4dee102a67466ca0c95f540aa458f8779f3a1cb5.zip | |
use new get_args
Diffstat (limited to 'src')
| -rw-r--r-- | src/libstd/sys/wasi/args.rs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/libstd/sys/wasi/args.rs b/src/libstd/sys/wasi/args.rs index 14aa391912e..2d0ddea385a 100644 --- a/src/libstd/sys/wasi/args.rs +++ b/src/libstd/sys/wasi/args.rs @@ -12,14 +12,16 @@ pub unsafe fn cleanup() { } pub struct Args { - iter: vec::IntoIter<Vec<u8>>, + iter: vec::IntoIter<OsString>, _dont_send_or_sync_me: PhantomData<*mut ()>, } /// Returns the command line arguments pub fn args() -> Args { + let mut buf = Vec::new(); + let _ = wasi::get_args(|arg| buf.push(OsString::from_vec(arg.to_vec()))); Args { - iter: wasi::get_args().unwrap_or(Vec::new()).into_iter(), + iter: buf.into_iter(), _dont_send_or_sync_me: PhantomData } } @@ -33,7 +35,7 @@ impl Args { impl Iterator for Args { type Item = OsString; fn next(&mut self) -> Option<OsString> { - self.iter.next().map(OsString::from_vec) + self.iter.next() } fn size_hint(&self) -> (usize, Option<usize>) { self.iter.size_hint() |
