From 7e1f90f27d876db67158ca4787420ec30c18f86b Mon Sep 17 00:00:00 2001 From: clsr Date: Fri, 1 Sep 2017 16:11:42 +0200 Subject: Distinguish between response length=0 and no length parameter Response.Length returns -1 when the parameter is not present and 0 when it's set to 0. Response.SetLength will only unset the parameter when given -1. --- common.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'common.go') diff --git a/common.go b/common.go index 310da86..2d73189 100644 --- a/common.go +++ b/common.go @@ -30,10 +30,10 @@ func readLimitedLine(br *bufio.Reader, length int) ([]byte, error) { } } -func getInt(m *Message, param string) (int64, error) { +func getInt(m *Message, param string, fallback int64) (int64, error) { p := m.Param(param) if p == "" { - return 0, nil + return fallback, nil } n, err := strconv.ParseUint(p, 10, 63) if err != nil || (n != 0 && p[0] == '0') || (n == 0 && len(p) != 1) { -- cgit