enhanced hawkgo to print named variables if -D is given
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
12
bin/hawk.c
12
bin/hawk.c
@@ -298,25 +298,25 @@ static void dprint_return (hawk_rtx_t* rtx, hawk_val_t* ret)
|
||||
|
||||
if (hawk_rtx_isnilval(rtx, ret))
|
||||
{
|
||||
hawk_logfmt (hawk, HAWK_LOG_STDERR,HAWK_T("[RETURN] - ***nil***\n"));
|
||||
hawk_logfmt(hawk, HAWK_LOG_STDERR,HAWK_T("[RETURN] - ***nil***\n"));
|
||||
}
|
||||
else
|
||||
{
|
||||
str = hawk_rtx_valtooocstrdup(rtx, ret, &len);
|
||||
if (str == HAWK_NULL)
|
||||
{
|
||||
hawk_logfmt (hawk, HAWK_LOG_STDERR,HAWK_T("[RETURN] - ***OUT OF MEMORY***\n"));
|
||||
hawk_logfmt(hawk, HAWK_LOG_STDERR,HAWK_T("[RETURN] - ***OUT OF MEMORY***\n"));
|
||||
}
|
||||
else
|
||||
{
|
||||
hawk_logfmt (hawk, HAWK_LOG_STDERR, HAWK_T("[RETURN] - [%.*js]\n"), len, str);
|
||||
hawk_logfmt(hawk, HAWK_LOG_STDERR, HAWK_T("[RETURN] - [%.*js]\n"), len, str);
|
||||
hawk_freemem(hawk_rtx_gethawk(rtx), str);
|
||||
}
|
||||
}
|
||||
|
||||
hawk_logfmt (hawk, HAWK_LOG_STDERR, HAWK_T("[NAMED VARIABLES]\n"));
|
||||
hawk_htb_walk (hawk_rtx_getnvmap(rtx), print_awk_value, rtx);
|
||||
hawk_logfmt (hawk, HAWK_LOG_STDERR, HAWK_T("[END NAMED VARIABLES]\n"));
|
||||
hawk_logfmt(hawk, HAWK_LOG_STDERR, HAWK_T("[NAMED VARIABLES]\n"));
|
||||
hawk_htb_walk(hawk_rtx_getnvmap(rtx), print_awk_value, rtx);
|
||||
hawk_logfmt(hawk, HAWK_LOG_STDERR, HAWK_T("[END OF NAMED VARIABLES]\n"));
|
||||
}
|
||||
|
||||
#if defined(ENABLE_CALLBACK)
|
||||
|
||||
@@ -4,6 +4,8 @@ import "hawk"
|
||||
import "flag"
|
||||
import "fmt"
|
||||
import "io"
|
||||
//import "net/http"
|
||||
//import _ "net/http/pprof"
|
||||
import "os"
|
||||
import "path/filepath"
|
||||
import "runtime"
|
||||
@@ -99,6 +101,9 @@ func main() {
|
||||
var fs_idx int = -1
|
||||
var err error
|
||||
|
||||
// for profiling
|
||||
//go http.ListenAndServe("0.0.0.0:6060", nil)
|
||||
|
||||
debug.SetGCPercent(100) // enable normal GC
|
||||
|
||||
if parse_args_to_config(&cfg) == false { os.Exit(99) }
|
||||
@@ -221,8 +226,20 @@ func main() {
|
||||
}
|
||||
|
||||
if cfg.show_extra_info {
|
||||
var named_vars map[string]*hawk.Val
|
||||
var vn string
|
||||
var vv *hawk.Val
|
||||
|
||||
fmt.Printf("[RETURN] - [%v]\n", retv.String())
|
||||
// TODO: print global variables and values
|
||||
|
||||
|
||||
fmt.Printf("NAMED VARIABLES]\n")
|
||||
named_vars = make(map[string]*hawk.Val)
|
||||
rtx.GetNamedVars(named_vars)
|
||||
for vn, vv = range named_vars {
|
||||
fmt.Printf("%s = %s\n", vn, vv.String())
|
||||
}
|
||||
fmt.Printf("END OF NAMED VARIABLES]\n")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -233,7 +250,8 @@ func main() {
|
||||
|
||||
runtime.GC()
|
||||
runtime.Gosched()
|
||||
// time.Sleep(1000 * time.Millisecond) // give finalizer time to print
|
||||
|
||||
//time.Sleep(100000 * time.Millisecond)
|
||||
return
|
||||
|
||||
oops:
|
||||
|
||||
Reference in New Issue
Block a user