diff options
| author | Veselkov Konstantin <kostozyb@gmail.com> | 2018-09-15 21:23:36 +0400 | 
|---|---|---|
| committer | Kurt Jung <kurt.w.jung@gmail.com> | 2018-09-15 13:23:36 -0400 | 
| commit | 7d57599b9d9c5fb48ea733596cbb812d7f84a8d6 (patch) | |
| tree | 5c4b8a4ffd2fa420877bed0aea4eecc789316af0 | |
| parent | 964b1221fa545d09ad62569f58a94dbbadaad57c (diff) | |
fixed warnings gocritic 3.3 (#192)
| -rw-r--r-- | font.go | 10 | ||||
| -rw-r--r-- | fpdf.go | 43 | ||||
| -rw-r--r-- | png.go | 7 | ||||
| -rw-r--r-- | protect.go | 8 | ||||
| -rw-r--r-- | util.go | 7 | 
5 files changed, 41 insertions, 34 deletions
| @@ -411,13 +411,17 @@ func MakeFont(fontFileStr, encodingFileStr, dstDirStr string, msgWriter io.Write  	extStr := strings.ToLower(fontFileStr[len(fontFileStr)-3:])  	// printf("Font file extension [%s]\n", extStr)  	var tpStr string -	if extStr == "ttf" || extStr == "otf" { +	switch extStr { +	case "ttf": +		fallthrough +	case "otf":  		tpStr = "TrueType" -	} else if extStr == "pfb" { +	case "pfb":  		tpStr = "Type1" -	} else { +	default:  		return fmt.Errorf("unrecognized font file extension: %s", extStr)  	} +  	var info fontInfoType  	encList, err := loadMap(encodingFileStr)  	if err != nil { @@ -1229,7 +1229,7 @@ func (f *Fpdf) gradientClipEnd() {  	f.out("Q")  } -func (f *Fpdf) gradient(tp int, r1, g1, b1 int, r2, g2, b2 int, x1, y1 float64, x2, y2 float64, r float64) { +func (f *Fpdf) gradient(tp, r1, g1, b1, r2, g2, b2 int, x1, y1, x2, y2, r float64) {  	pos := len(f.gradientList)  	clr1 := rgbColorValue(r1, g1, b1, "", "")  	clr2 := rgbColorValue(r2, g2, b2, "", "") @@ -1254,7 +1254,7 @@ func (f *Fpdf) gradient(tp int, r1, g1, b1 int, r2, g2, b2 int, x1, y1 float64,  // anchored on the rectangle edge. Color 1 is used up to the origin of the  // vector and color 2 is used beyond the vector's end point. Between the points  // the colors are gradually blended. -func (f *Fpdf) LinearGradient(x, y, w, h float64, r1, g1, b1 int, r2, g2, b2 int, x1, y1, x2, y2 float64) { +func (f *Fpdf) LinearGradient(x, y, w, h float64, r1, g1, b1, r2, g2, b2 int, x1, y1, x2, y2 float64) {  	f.gradientClipStart(x, y, w, h)  	f.gradient(2, r1, g1, b1, r2, g2, b2, x1, y1, x2, y2, 0)  	f.gradientClipEnd() @@ -1278,7 +1278,7 @@ func (f *Fpdf) LinearGradient(x, y, w, h float64, r1, g1, b1 int, r2, g2, b2 int  // the circle to avoid rendering problems.  //  // The LinearGradient() example demonstrates this method. -func (f *Fpdf) RadialGradient(x, y, w, h float64, r1, g1, b1 int, r2, g2, b2 int, x1, y1, x2, y2, r float64) { +func (f *Fpdf) RadialGradient(x, y, w, h float64, r1, g1, b1, r2, g2, b2 int, x1, y1, x2, y2, r float64) {  	f.gradientClipStart(x, y, w, h)  	f.gradient(3, r1, g1, b1, r2, g2, b2, x1, y1, x2, y2, r)  	f.gradientClipEnd() @@ -1502,7 +1502,7 @@ func (f *Fpdf) AddFont(familyStr, styleStr, fileStr string) {  // jsonFileBytes contain all bytes of JSON file.  //  // zFileBytes contain all bytes of Z file. -func (f *Fpdf) AddFontFromBytes(familyStr string, styleStr string, jsonFileBytes []byte, zFileBytes []byte) { +func (f *Fpdf) AddFontFromBytes(familyStr, styleStr string, jsonFileBytes, zFileBytes []byte) {  	if f.err != nil {  		return  	} @@ -1900,7 +1900,7 @@ func (f *Fpdf) SetAcceptPageBreakFunc(fnc func() bool) {  //  // linkStr is a target URL or empty for no external link. A non--zero value for  // link takes precedence over linkStr. -func (f *Fpdf) CellFormat(w, h float64, txtStr string, borderStr string, ln int, +func (f *Fpdf) CellFormat(w, h float64, txtStr, borderStr string, ln int,  	alignStr string, fill bool, link int, linkStr string) {  	// dbg("CellFormat. h = %.2f, borderStr = %s", h, borderStr)  	if f.err != nil { @@ -1978,19 +1978,22 @@ func (f *Fpdf) CellFormat(w, h float64, txtStr string, borderStr string, ln int,  	if len(txtStr) > 0 {  		var dx, dy float64  		// Horizontal alignment -		if strings.Contains(alignStr, "R") { +		switch { +		case strings.Contains(alignStr, "R"):  			dx = w - f.cMargin - f.GetStringWidth(txtStr) -		} else if strings.Contains(alignStr, "C") { +		case strings.Contains(alignStr, "C"):  			dx = (w - f.GetStringWidth(txtStr)) / 2 -		} else { +		default:  			dx = f.cMargin  		} +  		// Vertical alignment -		if strings.Contains(alignStr, "T") { +		switch { +		case strings.Contains(alignStr, "T"):  			dy = (f.fontSize - h) / 2.0 -		} else if strings.Contains(alignStr, "B") { +		case strings.Contains(alignStr, "B"):  			dy = (h - f.fontSize) / 2.0 -		} else if strings.Contains(alignStr, "A") { +		case strings.Contains(alignStr, "A"):  			var descent float64  			d := f.currentFont.Desc  			if d.Descent == 0 { @@ -2000,7 +2003,7 @@ func (f *Fpdf) CellFormat(w, h float64, txtStr string, borderStr string, ln int,  				descent = float64(d.Descent) * f.fontSize / float64(d.Ascent-d.Descent)  			}  			dy = (h-f.fontSize)/2.0 - descent -		} else { +		default:  			dy = 0  		}  		if f.colorFlag { @@ -2369,7 +2372,7 @@ func (f *Fpdf) WriteAligned(width, lineHeight float64, textStr, alignStr string)  	lines := f.SplitLines([]byte(textStr), width)  	for _, lineBt := range lines { -		lineStr := string(lineBt[:]) +		lineStr := string(lineBt)  		lineWidth := f.GetStringWidth(lineStr)  		switch alignStr { @@ -3321,7 +3324,8 @@ func (f *Fpdf) putfonts() {  			f.fonts[key] = font  			tp := font.Tp  			name := font.Name -			if tp == "Core" { +			switch tp { +			case "Core":  				// Core font  				f.newobj()  				f.out("<</Type /Font") @@ -3332,7 +3336,9 @@ func (f *Fpdf) putfonts() {  				}  				f.out(">>")  				f.out("endobj") -			} else if tp == "Type1" || tp == "TrueType" { +			case "Type1": +				fallthrough +			case "TrueType":  				// Additional Type1 or TrueType/OpenType font  				f.newobj()  				f.out("<</Type /Font") @@ -3378,14 +3384,9 @@ func (f *Fpdf) putfonts() {  				s.printf("/FontFile%s %d 0 R>>", suffix, f.fontFiles[font.File].n)  				f.out(s.String())  				f.out("endobj") -			} else { +			default:  				f.err = fmt.Errorf("unsupported font type: %s", tp)  				return -				// Allow for additional types -				// 			$mtd = 'put'.strtolower($type); -				// 			if(!method_exists($this,$mtd)) -				// 				$this->Error('Unsupported font type: '.$type); -				// 			$this->$mtd($font);  			}  		}  	} @@ -96,11 +96,12 @@ func (f *Fpdf) parsepngstream(buf *bytes.Buffer, readdpi bool) (info *ImageInfoT  			// dbg("tRNS")  			// Read transparency info  			t := buf.Next(n) -			if ct == 0 { +			switch ct { +			case 0:  				trns = []int{int(t[1])} // ord(substr($t,1,1))); -			} else if ct == 2 { +			case 2:  				trns = []int{int(t[1]), int(t[3]), int(t[5])} // array(ord(substr($t,1,1)), ord(substr($t,3,1)), ord(substr($t,5,1))); -			} else { +			default:  				pos := strings.Index(string(t), "\x00")  				if pos >= 0 {  					trns = []int{pos} // array($pos); @@ -68,8 +68,8 @@ func oValueGen(userPass, ownerPass []byte) (v []byte) {  	var c *rc4.Cipher  	tmp := md5.Sum(ownerPass)  	c, _ = rc4.NewCipher(tmp[0:5]) -	cap := len(userPass) -	v = make([]byte, cap, cap) +	size := len(userPass) +	v = make([]byte, size, size)  	c.XORKeyStream(v, userPass)  	return  } @@ -77,8 +77,8 @@ func oValueGen(userPass, ownerPass []byte) (v []byte) {  func (p *protectType) uValueGen() (v []byte) {  	var c *rc4.Cipher  	c, _ = rc4.NewCipher(p.encryptionKey) -	cap := len(p.padding) -	v = make([]byte, cap, cap) +	size := len(p.padding) +	v = make([]byte, size, size)  	c.XORKeyStream(v, p.padding)  	return  } @@ -114,7 +114,8 @@ func utf8toutf16(s string) string {  	for i < nb {  		c1 := byte(s[i])  		i++ -		if c1 >= 224 { +		switch { +		case c1 >= 224:  			// 3-byte character  			c2 := byte(s[i])  			i++ @@ -122,13 +123,13 @@ func utf8toutf16(s string) string {  			i++  			res = append(res, ((c1&0x0F)<<4)+((c2&0x3C)>>2),  				((c2&0x03)<<6)+(c3&0x3F)) -		} else if c1 >= 192 { +		case c1 >= 192:  			// 2-byte character  			c2 := byte(s[i])  			i++  			res = append(res, ((c1 & 0x1C) >> 2),  				((c1&0x03)<<6)+(c2&0x3F)) -		} else { +		default:  			// Single-byte character  			res = append(res, 0, c1)  		} | 
