Go-Callvis Viewer

Home|gocallvis/dot_cgo.go
1//go:build cgo
2// +build cgo
3
4package main
5
6import (
7    "fmt"
8    "log"
9    "os"
10    "path/filepath"
11
12    "github.com/goccy/go-graphviz"
13)
14
15func runDotToImage(outfname stringformat stringdot []byte) (stringerror) {
16    g := graphviz.New()
17    grapherr := graphviz.ParseBytes(dot)
18    if err != nil {
19        return ""err
20    }
21    defer func() {
22        if err := graph.Close(); err != nil {
23            log.Fatal(err)
24        }
25        g.Close()
26    }()
27    var img string
28    if outfname == "" {
29        img = filepath.Join(os.TempDir(), fmt.Sprintf("go-callvis_export.%s"format))
30    } else {
31        img = fmt.Sprintf("%s.%s"outfnameformat)
32    }
33    if err := g.RenderFilename(graphgraphviz.Format(format), img); err != nil {
34        return ""err
35    }
36    return imgnil
37}
38
MembersX
runDotToImage
runDotToImage.format
runDotToImage.dot
runDotToImage.err
go-graphviz
runDotToImage.outfname
runDotToImage.g
runDotToImage.graph
runDotToImage.BlockStmt.err
runDotToImage.img
Members
X