瀏覽代碼

Update vendored go-alpm

Reeto Chatterjee 7 年之前
父節點
當前提交
8a0bade6cd
共有 1 個文件被更改,包括 15 次插入0 次删除
  1. 15 0
      vendor/github.com/jguer/go-alpm/package.go

+ 15 - 0
vendor/github.com/jguer/go-alpm/package.go

@@ -282,6 +282,21 @@ func (pkg Package) ComputeRequiredBy() []string {
 	return requiredby
 }
 
+// ComputeOptionalFor returns the names of packages that optionally require the given package
+func (pkg Package) ComputeOptionalFor() []string {
+	result := C.alpm_pkg_compute_optionalfor(pkg.pmpkg)
+	optionalfor := make([]string, 0)
+	for i := (*list)(unsafe.Pointer(result)); i != nil; i = i.Next {
+		defer C.free(unsafe.Pointer(i))
+		if i.Data != nil {
+			defer C.free(unsafe.Pointer(i.Data))
+			name := C.GoString((*C.char)(unsafe.Pointer(i.Data)))
+			optionalfor = append(optionalfor, name)
+		}
+	}
+	return optionalfor
+}
+
 // NewVersion checks if there is a new version of the package in the Synced DBs.
 func (pkg Package) NewVersion(l DbList) *Package {
 	ptr := C.alpm_sync_newversion(pkg.pmpkg,