X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Flib_internal%2Fmatchlist-initrefserverlist.c;h=2656671165f4bf5903963d04534aae9a378b0a85;hb=8f6d0b27ae3d010574986b1b86b15f35e2fa800c;hp=f39a98bbbfc049905ec2b4f777fd30806230abd8;hpb=5269e9607d89ac4dbd34f9adb5b14fb5dfc9b1a5;p=util-vserver.git diff --git a/util-vserver/lib_internal/matchlist-initrefserverlist.c b/util-vserver/lib_internal/matchlist-initrefserverlist.c index f39a98b..2656671 100644 --- a/util-vserver/lib_internal/matchlist-initrefserverlist.c +++ b/util-vserver/lib_internal/matchlist-initrefserverlist.c @@ -61,19 +61,29 @@ MatchList_initRefserverList(struct MatchList **lst, size_t *cnt, *lst = Emalloc(sizeof(struct MatchList) * count); *cnt = count; for (i=0; id_name; - size_t l = strlen(tmp); - char vname[sizeof("./") + l]; + char const *tmp = entries[i]->d_name; + size_t l = strlen(tmp); + char vname[sizeof("./") + l]; + struct MatchVserverInfo vserver = { + .name = vname, + .use_pkgmgmt = true + }; + + if (!MatchVserverInfo_init(&vserver)) { + WRITE_MSG(2, "failed to initialize unification of reference vserver\n"); + exit(1); + } memcpy(vname, "./", 2); memcpy(vname+2, tmp, l+1); - if (!MatchList_initByVserver((*lst)+i, vname, 0)) { + if (!MatchList_initByVserver((*lst)+i, &vserver)) { WRITE_MSG(2, "unification for reference vserver not configured\n"); exit(1); } free(entries[i]); + MatchVserverInfo_free(&vserver); } free(entries);