about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authornewpavlov <newpavlov@gmail.com>2019-08-20 19:16:01 +0300
committernewpavlov <newpavlov@gmail.com>2019-08-20 19:16:01 +0300
commit4dee102a67466ca0c95f540aa458f8779f3a1cb5 (patch)
tree91294cf49e9168903f5e166e151489495ccc957d /src
parent7daf890d752c79b554528716fedd5f0b9abc8914 (diff)
downloadrust-4dee102a67466ca0c95f540aa458f8779f3a1cb5.tar.gz
rust-4dee102a67466ca0c95f540aa458f8779f3a1cb5.zip
use new get_args
Diffstat (limited to 'src')
-rw-r--r--src/libstd/sys/wasi/args.rs8
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()