inih: INIReaderDispose
This commit is contained in:
@@ -12,6 +12,8 @@ username=admin
|
|||||||
timeout=100
|
timeout=100
|
||||||
`
|
`
|
||||||
reader := inih.NewReader(c.Str(buf), uintptr(len(buf)))
|
reader := inih.NewReader(c.Str(buf), uintptr(len(buf)))
|
||||||
|
defer reader.Dispose()
|
||||||
|
|
||||||
println(reader.ParseError())
|
println(reader.ParseError())
|
||||||
sec := std.Str("settings")
|
sec := std.Str("settings")
|
||||||
name := std.Str("timeout")
|
name := std.Str("timeout")
|
||||||
@@ -19,6 +21,8 @@ timeout=100
|
|||||||
println("value:", value)
|
println("value:", value)
|
||||||
|
|
||||||
reader = inih.NewReaderFile(std.Str("config.ini"))
|
reader = inih.NewReaderFile(std.Str("config.ini"))
|
||||||
|
defer reader.Dispose()
|
||||||
|
|
||||||
if ret := reader.ParseError(); ret != 0 {
|
if ret := reader.ParseError(); ret != 0 {
|
||||||
println("Error parsing config file:", ret)
|
println("Error parsing config file:", ret)
|
||||||
return
|
return
|
||||||
|
|||||||
13
cpp/inih/_wrap/reader.cpp
Normal file
13
cpp/inih/_wrap/reader.cpp
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#include <INIReader.h>
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
void INIReaderDispose(INIReader* r) {
|
||||||
|
r->~INIReader();
|
||||||
|
}
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
} // extern "C"
|
||||||
@@ -23,7 +23,8 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
LLGoPackage = "link: $(pkg-config --libs inih INIReader); -linih -lINIReader"
|
LLGoFiles = "_wrap/reader.cpp"
|
||||||
|
LLGoPackage = "link: $(pkg-config --cflags --libs inih INIReader); -linih -lINIReader"
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:linkname Parse C.ini_parse
|
//go:linkname Parse C.ini_parse
|
||||||
|
|||||||
@@ -36,6 +36,9 @@ func (r *Reader) InitFromBuffer(buffer *c.Char, bufferSize uintptr) {}
|
|||||||
// llgo:link (*Reader).InitFromFile C._ZN9INIReaderC1ERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE
|
// llgo:link (*Reader).InitFromFile C._ZN9INIReaderC1ERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE
|
||||||
func (r *Reader) InitFromFile(fileName *std.String) {}
|
func (r *Reader) InitFromFile(fileName *std.String) {}
|
||||||
|
|
||||||
|
// llgo:link (*Reader).Dispose C.INIReaderDispose
|
||||||
|
func (s *Reader) Dispose() {}
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
func NewReader(buffer *c.Char, bufferSize uintptr) (ret Reader) {
|
func NewReader(buffer *c.Char, bufferSize uintptr) (ret Reader) {
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ void stdStringInitFromCStrLen(std::string* s, const char* cstr, size_t len) {
|
|||||||
new(s) std::string(cstr, len);
|
new(s) std::string(cstr, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
void stdStringDispose(const std::string* s) {
|
void stdStringDispose(std::string* s) {
|
||||||
s->~basic_string();
|
s->~basic_string();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
package std
|
package std
|
||||||
|
|
||||||
const (
|
const (
|
||||||
LLGoFiles = "_cppstd/string.cpp"
|
LLGoFiles = "_wrap/string.cpp"
|
||||||
LLGoPackage = "link: c++"
|
LLGoPackage = "link: c++"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user