nakagami / firebirdsql

Firebird RDBMS sql driver for Go (golang)
MIT License
224 stars 60 forks source link

Potential mistake in *wireProtocol._parse_status_vector() #83

Closed bat22 closed 5 years ago

bat22 commented 5 years ago

In the beginning of function variable gds_code is declared. But in clause case n == isc_arg_gds a new variable is created and variable declared before not updated.

func (p *wireProtocol) _parse_status_vector() (*list.List, int, string, error) {
    sql_code := 0
    gds_code := 0
    gds_codes := list.New()
    num_arg := 0
    message := ""
...
        case n == isc_arg_gds:
            b, err = p.recvPackets(4)
            gds_code := int(bytes_to_bint32(b))
            if gds_code != 0 {
                gds_codes.PushBack(gds_code)
                message += errmsgs[gds_code]
                num_arg = 0
                        }
...
nakagami commented 5 years ago

Thanks I understand now.