init?()

in Cyborg/XmlParsing.swift [228:249]


    init?(_ xmlString: XMLString) {
        let count = Int(xmlString.count)
        if let float = (xmlString
            .withSignedIntegers { (buffer) -> (CGFloat?) in
                var next: UnsafeMutablePointer<Int8>? = buffer
                for i in 0..<count {
                    var current = Int8(xmlString.underlying.advanced(by: i).pointee)
                    buffer.advanced(by: i).assign(from: &current,
                                                  count: 1)
                }
                let result = strtod(buffer, &next)
                if result == 0.0 && next == buffer {
                    return nil
                } else {
                    return CGFloat(result)
                }
        }) {
            self = float
        } else {
            return nil
        }
    }