-// $Id: getvserverbyctx-compat.hc,v 1.3 2004/06/27 13:01:28 ensc Exp $ --*- c -*--
+// $Id: getvserverbyctx-compat.hc 2596 2007-08-25 16:56:12Z dhozac $ --*- c -*--
// Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
//
if (l<=4 || strcmp(name+l-4, ".ctx")!=0) continue;
name[l-4] = '\0';
- cur_xid = vc_getVserverCtx(name, vcCFG_LEGACY, false, 0);
+ cur_xid = vc_getVserverCtx(name, vcCFG_LEGACY, false, 0, vcCTX_XID);
if (cur_xid!=xid) continue;
result = strdup(name);
#endif
static char *
-vc_getVserverByCtx_compat(xid_t ctx, vcCfgStyle *style, char const *revdir)
+vc_getVserverByCtx_compat(xid_t ctx, vcCfgStyle *style, char const *revdir,
+ bool validate_result)
{
if (revdir==0) revdir = DEFAULT_PKGSTATEREVDIR;
switch (cur_style) {
case vcCFG_RECENT_SHORT :
case vcCFG_RECENT_FULL :
- // check if expected ctx == actual ctx
- if (vc_getVserverCtx(path, vcCFG_RECENT_FULL, false, 0)!=ctx) return 0;
+ // check if expected ctx == actual ctx (but only when this check is
+ // request)
+ if (validate_result &&
+ vc_getVserverCtx(path, vcCFG_RECENT_FULL, false, 0, vcCTX_XID)!=ctx) return 0;
if (style) *style = vcCFG_RECENT_FULL;
return strdup(path);