MCPcopy Create free account
hub / github.com/libgit2/git2go / NewMultivarIterator

Method NewMultivarIterator

config.go:160–184  ·  view source on GitHub ↗
(name, regexp string)

Source from the content-addressed store, hash-verified

158}
159
160func (c *Config) NewMultivarIterator(name, regexp string) (*ConfigIterator, error) {
161 cname := C.CString(name)
162 defer C.free(unsafe.Pointer(cname))
163
164 var cregexp *C.char
165 if regexp == "" {
166 cregexp = nil
167 } else {
168 cregexp = C.CString(regexp)
169 defer C.free(unsafe.Pointer(cregexp))
170 }
171
172 iter := &ConfigIterator{cfg: c}
173
174 runtime.LockOSThread()
175 defer runtime.UnlockOSThread()
176
177 ret := C.git_config_multivar_iterator_new(&iter.ptr, c.ptr, cname, cregexp)
178 if ret < 0 {
179 return nil, MakeGitError(ret)
180 }
181
182 runtime.SetFinalizer(iter, (*ConfigIterator).Free)
183 return iter, nil
184}
185
186// NewIterator creates an iterator over each entry in the
187// configuration

Callers

nothing calls this directly

Calls 2

MakeGitErrorFunction · 0.85
freeMethod · 0.80

Tested by

no test coverage detected