diff options
| author | Corey Farwell <[email protected]> | 2016-04-30 23:54:29 -0400 |
|---|---|---|
| committer | Corey Farwell <[email protected]> | 2016-05-01 00:02:10 -0400 |
| commit | bf7076b7853c27546ed5ce3d235e20b409682729 (patch) | |
| tree | ea446fac11339283f17f76d85d23d45118d70c73 /openssl/src/x509/mod.rs | |
| parent | Add X509StoreContext::error_depth (diff) | |
| download | rust-openssl-bf7076b7853c27546ed5ce3d235e20b409682729.tar.xz rust-openssl-bf7076b7853c27546ed5ce3d235e20b409682729.zip | |
Implement `iter` method on `GeneralNames`.
Diffstat (limited to 'openssl/src/x509/mod.rs')
| -rw-r--r-- | openssl/src/x509/mod.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/openssl/src/x509/mod.rs b/openssl/src/x509/mod.rs index af1e6ed1..93526d7f 100644 --- a/openssl/src/x509/mod.rs +++ b/openssl/src/x509/mod.rs @@ -810,6 +810,32 @@ impl<'a> GeneralNames<'a> { } } } + + pub fn iter(&self) -> GeneralNamesIter { + GeneralNamesIter { + names: self, + idx: 0 + } + } +} + +pub struct GeneralNamesIter<'a> { + names: &'a GeneralNames<'a>, + idx: usize, +} + +impl<'a> Iterator for GeneralNamesIter<'a> { + type Item = GeneralName<'a>; + + fn next(&mut self) -> Option<Self::Item> { + if self.idx < self.names.len() { + let name = self.names.get(self.idx); + self.idx += 1; + Some(name) + } else { + None + } + } } pub struct GeneralName<'a> { |