From: Enrico Scholz Date: Tue, 13 Jan 2004 14:15:28 +0000 (+0000) Subject: initial checkin X-Git-Tag: VERSION_0_10~966 X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ef4741f865b4716bc49a66ac5ee2e80f2e730cad;p=util-vserver.git initial checkin git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@561 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- diff --git a/util-vserver/src/fstool-resolvectx.c b/util-vserver/src/fstool-resolvectx.c new file mode 100644 index 0000000..5f1020b --- /dev/null +++ b/util-vserver/src/fstool-resolvectx.c @@ -0,0 +1,50 @@ +// $Id$ --*- c -*-- + +// Copyright (C) 2004 Enrico Scholz +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; version 2 of the License. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +#ifdef HAVE_CONFIG_H +# include +#endif + +#include "util.h" +#include + +#include + +xid_t +resolveCtx(char const *str) +{ + xid_t res; + + if (*str==':') ++str; + else { + char *end_ptr; + long result = strtol(str, &end_ptr, 0); + + if (end_ptr>str && *end_ptr==0) return result; + } + + res = vc_getVserverCtx(str, vcCFG_AUTO, true, 0); + if (res==VC_NOCTX) { + WRITE_MSG(2, "Can not find a vserver with name '"); + WRITE_STR(2, str); + WRITE_MSG(2, "', or vserver does not have a static context\n"); + exit(1); + } + + return res; +}