File tree Expand file tree Collapse file tree 4 files changed +15
-3
lines changed
Expand file tree Collapse file tree 4 files changed +15
-3
lines changed Original file line number Diff line number Diff line change @@ -107,7 +107,7 @@ func (pi *PathIter) Next() *PathSegment {
107107 }
108108 // path.data is an array of cairo_path_data_t, but the union makes
109109 // things complicated.
110- dataArray := ( * [ 1 << 30 ] C.cairo_path_data_t )(unsafe .Pointer (pi .path .Ptr .data ))
110+ dataArray := unsafe . Slice (( * C .cairo_path_data_t )(unsafe .Pointer (pi .path .Ptr .data )), pi . path . Ptr . num_data )
111111 seg , ofs := decodePathSegment (unsafe .Pointer (& dataArray [pi .i ]))
112112 pi .i += C .int (ofs )
113113 return seg
@@ -3651,7 +3651,7 @@ func SVGGetVersions() []SVGVersion {
36513651 var cVersionsPtr * C.cairo_svg_version_t
36523652 var cNumVersions C.int
36533653 C .cairo_svg_get_versions (& cVersionsPtr , & cNumVersions )
3654- slice := ( * [ 1 << 30 ] C.cairo_svg_version_t )(unsafe .Pointer (cVersionsPtr ))[: cNumVersions : cNumVersions ]
3654+ slice := unsafe . Slice (( * C .cairo_svg_version_t )(unsafe .Pointer (cVersionsPtr )), cNumVersions )
36553655 versions := make ([]SVGVersion , cNumVersions )
36563656 for i := 0 ; i < int (cNumVersions ); i ++ {
36573657 versions [i ] = SVGVersion (slice [i ])
Original file line number Diff line number Diff line change @@ -36,11 +36,11 @@ type pathDataHeader struct {
3636// decodePathSegment extracts a series of points out of a cairo_path_data_t array.
3737func decodePathSegment (pathData unsafe.Pointer ) (* PathSegment , int ) {
3838 header := (* pathDataHeader )(pathData )
39+ parts := unsafe .Slice ((* PathPoint )(pathData ), header .length )
3940 seg := PathSegment {
4041 Type : PathDataType (header .dataType ),
4142 Points : make ([]PathPoint , header .length - 1 ),
4243 }
43- parts := (* [1 << 30 ]PathPoint )(pathData )
4444 copy (seg .Points , parts [1 :])
4545 return & seg , int (header .length )
4646}
Original file line number Diff line number Diff line change 1+ module github.com/go-graphite/gocairo
2+
3+ go 1.17
4+
5+ require (
6+ github.com/martine/gocairo v0.0.0-20160222165215-ddd30f837497
7+ rsc.io/c2go v0.0.0-20170620140410-520c22818a08
8+ )
Original file line number Diff line number Diff line change 1+ github.com/martine/gocairo v0.0.0-20160222165215-ddd30f837497 h1:YokNfnvsFBP4Fw6OdIWsmUQfyQFCR8J9f7FweVa6sgQ =
2+ github.com/martine/gocairo v0.0.0-20160222165215-ddd30f837497 /go.mod h1:iLyMWuHlSRKkfS1vzV+wQNDFVOfQZYkrAAdNS7FPb4w =
3+ rsc.io/c2go v0.0.0-20170620140410-520c22818a08 h1:AAIN5uzUq20OU2cNoPTVljUm7JDaD0Z/+Xl/uMBHJgU =
4+ rsc.io/c2go v0.0.0-20170620140410-520c22818a08 /go.mod h1:hE73EMCiJ3lIDPgEDEK781LZrVhFDxT+I+ziQRoLVNE =
You can’t perform that action at this time.
0 commit comments