all repos — legit @ 584243d358e4c14ed1daf65271bb4a3fd505d770

legit - simple git web interface in go (fork)

fix line count for files that don't end in a newline
Iris Lightshard nilix@nilfm.cc
PGP Signature
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAmPbRTQACgkQO3+8IhRO
Y5ggAQ//Ts4ejO5iH8zrftEZS9fTT4qMdAJL3vTrD92WZgo7EdpghXOjjn4Vmljs
ADDwm73+W9E7Y0i0vOVFK8wnZ2nahlDs5eA/21JkwFVhwI9mBEE3zfbDp6qR7HgJ
E6vdp7oqPl+dSbH9flGt1R8Y8bRpCCQS/SjBIkMgJtl3LGUDRkuAckUu6raLhIoW
fzUXFbDN44uZoVEBbmn72Pyuxb0+lTHri9LkkBffI/eimk28aBZVdsCEaIhUxCzz
F4bXERqMXNmFxro8SOLwvPcQDTrx5Dm8XAJGuJKrMso8KupmBAYr9HT9uoLRPsWr
rfs2s/+fGRl+JoI8FvlXD13zc5y9XXEAxSMebqR49XiQjJeMHDIEjoRHkntl7enk
HubzlFofc7ZVWbJe96Zw50qna4gxTVew2Fx+uHNxYFzWSKMUKiEjFqMbRudjzg++
8v8QBcHjDClackMTdmm3R5PmrvcjCldOHplAbKy9yxsp79n+ICihhMykYcLTZKzU
BVWUJMyeiJex9c6sF+9g67LcQ6e7tmsXtHo7+FtLsSfmSVMCqrk8lJerK1jBZePF
6IsNyHrKx4m8qaAB0wwr6E6TgJIZ8zxwiyN4uUcYQQ73zjUi8vFaf5ZKdurj3Vei
Lcv+2TjwX0u3uu3bjMQTrGcTs5TTMEHI1xOkz2akJWzzUPNo54o=
=y81R
-----END PGP SIGNATURE-----
commit

584243d358e4c14ed1daf65271bb4a3fd505d770

parent

239d5b2dfafacfc338f31bee8ff63ad9301809cf

1 files changed, 8 insertions(+), 0 deletions(-)

jump to
M routes/template.goroutes/template.go

@@ -45,15 +45,23 @@ }

func countLines(r io.Reader) (int, error) { buf := make([]byte, 32*1024) + bufLen := 0 count := 0 nl := []byte{'\n'} for { c, err := r.Read(buf) + if c > 0 { + bufLen += c + } count += bytes.Count(buf[:c], nl) switch { case err == io.EOF: + /* handle last line not having a newline at the end */ + if bufLen >= 1 && buf[bufLen-1] != '\n' { + count++ + } return count, nil case err != nil: return 0, err