inih: INIReaderDispose
This commit is contained in:
@@ -12,6 +12,8 @@ username=admin
|
||||
timeout=100
|
||||
`
|
||||
reader := inih.NewReader(c.Str(buf), uintptr(len(buf)))
|
||||
defer reader.Dispose()
|
||||
|
||||
println(reader.ParseError())
|
||||
sec := std.Str("settings")
|
||||
name := std.Str("timeout")
|
||||
@@ -19,6 +21,8 @@ timeout=100
|
||||
println("value:", value)
|
||||
|
||||
reader = inih.NewReaderFile(std.Str("config.ini"))
|
||||
defer reader.Dispose()
|
||||
|
||||
if ret := reader.ParseError(); ret != 0 {
|
||||
println("Error parsing config file:", ret)
|
||||
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 (
|
||||
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
|
||||
|
||||
@@ -36,6 +36,9 @@ func (r *Reader) InitFromBuffer(buffer *c.Char, bufferSize uintptr) {}
|
||||
// llgo:link (*Reader).InitFromFile C._ZN9INIReaderC1ERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE
|
||||
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) {
|
||||
|
||||
@@ -20,7 +20,7 @@ void stdStringInitFromCStrLen(std::string* s, const char* cstr, size_t len) {
|
||||
new(s) std::string(cstr, len);
|
||||
}
|
||||
|
||||
void stdStringDispose(const std::string* s) {
|
||||
void stdStringDispose(std::string* s) {
|
||||
s->~basic_string();
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
package std
|
||||
|
||||
const (
|
||||
LLGoFiles = "_cppstd/string.cpp"
|
||||
LLGoFiles = "_wrap/string.cpp"
|
||||
LLGoPackage = "link: c++"
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user