Source File
value_util.go
Belonging Package
github.com/aws/aws-sdk-go/internal/ini
package ini
import (
)
continue
}
}
if ! {
return 0, NewParseError("missing '\"' in string value")
}
return + 1, nil
}
func ( []rune) (int, error) {
if len() < 4 {
return 0, NewParseError("invalid boolean value")
}
:= 0
for , := range literalValues {
if len() > len() {
continue
}
if isLitValue(, ) {
= len()
}
}
if == 0 {
return 0, NewParseError("invalid boolean value")
}
return , nil
}
func ( []rune) (int, int, error) {
if !isDigit([0]) {
return 0, 0, NewParseError("invalid digit value")
}
:= 0
:= numberHelper{}
:
for := 0; < len(); ++ {
++
if !isDigit([]) {
switch [] {
case '-':
if .IsNegative() || != 1 {
return 0, 0, NewParseError("parse error '-'")
}
:= getNegativeNumber([:])
+= ( - 1)
.Determine([])
continue
case '.':
if := .Determine([]); != nil {
return 0, 0,
}
case 'e', 'E':
if := .Determine([]); != nil {
return 0, 0,
}
= 0
case 'b':
if .numberFormat == hex {
break
}
fallthrough
case 'o', 'x':
if == 0 && [] != '0' {
return 0, 0, NewParseError("incorrect base format, expected leading '0'")
}
if != 1 {
return 0, 0, NewParseError(fmt.Sprintf("incorrect base format found %s at %d index", string([]), ))
}
if := .Determine([]); != nil {
return 0, 0,
}
default:
if isWhitespace([]) {
break
}
if isNewline([:]) {
break
}
if !(.numberFormat == hex && isHexByte([])) {
if +2 < len() && !isNewline([:+2]) {
return 0, 0, NewParseError("invalid numerical character")
} else if !isNewline([]rune{[]}) {
return 0, 0, NewParseError("invalid numerical character")
}
break
}
}
}
}
return .Base(), , nil
}
func ( rune) bool {
return >= '0' && <= '9'
}
func ( []rune) bool {
return contains(, 'e') || contains(, 'E')
}
func ( rune) bool {
switch {
case '0', '1':
return true
default:
return false
}
}
func ( rune) bool {
switch {
case '0', '1', '2', '3', '4', '5', '6', '7':
return true
default:
return false
}
}
func ( rune) bool {
if isDigit() {
return true
}
return ( >= 'A' && <= 'F') ||
( >= 'a' && <= 'f')
}
func ( []rune) (int, error) {
:= 0
for < len() {
if isNewline([:]) {
break
}
if isOp([:]) {
break
}
, , := isValid([:])
if != nil {
return 0,
}
if ! {
break
}
+=
}
return , nil
}
func ( []rune, rune) bool {
if len() == 0 {
return false
}
switch {
case '\'': // single quote
case '"': // quote
case 'n': // newline
case 't': // tab
case '\\': // backslash
default:
return false
}
return [len()-1] == '\\'
}
func ( rune) (rune, error) {
switch {
case '\'': // single quote
return '\'', nil
case '"': // quote
return '"', nil
case 'n': // newline
return '\n', nil
case 't': // table
return '\t', nil
case '\\': // backslash
return '\\', nil
default:
return , NewParseError(fmt.Sprintf("invalid escaped character %c", ))
}
}
func ( []rune) []rune {
for := 0; < len(); ++ {
if isEscaped([:], []) {
, := getEscapedByte([])
if != nil {
return
}
[-1] =
= append([:], [+1:]...)
--
}
}
return
![]() |
The pages are generated with Golds v0.3.2-preview. (GOOS=darwin GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |