static bool packagelist_parse_callback(pkg_info* this_package, void* userdata) { pkg_info* p = reinterpret_cast<pkg_info*>(userdata); if (strcmp(p->name, this_package->name) == 0) { *p = *this_package; return false; // Stop searching. } packagelist_free(this_package); return true; // Keep searching. }
static bool package_list_parser_cb(pkg_info* info, void* /* userdata */) { bool rc = true; if (info->uid == uid) { name = strdup(info->name); // false to stop processing rc = false; } packagelist_free(info); return rc; }
static bool package_parse_callback(pkg_info *info, void *userdata) { struct fuse_global *global = (struct fuse_global *)userdata; bool res = global->package_to_appid->emplace(info->name, info->uid).second; packagelist_free(info); return res; }