func escapeBackslash()

in util/mysql.go [24:69]


func escapeBackslash(s string) string {
	j := 0
	buf := make([]byte, len(s)*2)

	for i := 0; i < len(s); i++ {
		switch s[i] {
		case '\x00': //00
			buf[j] = '\\'
			buf[j+1] = '0'
			j += 2
		case '\b': //08
			buf[j] = '\\'
			buf[j+1] = 'b'
			j += 2
		case '\n': //10
			buf[j] = '\\'
			buf[j+1] = 'n'
			j += 2
		case '\r': //13
			buf[j] = '\\'
			buf[j+1] = 'r'
			j += 2
		case '\x1a': //26
			buf[j] = '\\'
			buf[j+1] = 'Z'
			j += 2
		case '"': //34
			buf[j] = '\\'
			buf[j+1] = '"'
			j += 2
		case '\'': //39
			buf[j] = '\\'
			buf[j+1] = '\''
			j += 2
		case '\\': //92
			buf[j] = '\\'
			buf[j+1] = '\\'
			j += 2
		default:
			buf[j] = s[i]
			j++
		}
	}

	return string(buf[:j])
}