From: Enrico Scholz Date: Thu, 16 Oct 2003 15:08:20 +0000 (+0000) Subject: initial checkin X-Git-Tag: VERSION_0_10~1228 X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f973d375b492684cee49397566859de0bd72484a;p=util-vserver.git initial checkin git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@182 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- diff --git a/util-vserver/lib/int2str.c b/util-vserver/lib/int2str.c new file mode 100644 index 0000000..701ece4 --- /dev/null +++ b/util-vserver/lib/int2str.c @@ -0,0 +1,39 @@ +// $Id$ --*- c++ -*-- + +// Copyright (C) 2003 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 "compat.h" + +#include "internal.h" + +size_t +utilvserver_int2str(char *buf, size_t len, signed int val, unsigned char base) +{ + int offset = 0; + + if (val<0 && len>0) { + *buf++ = '-'; + --len; + offset = 1; + val = -val; + } + + return utilvserver_uint2str(buf, len, val, base)+offset; +} diff --git a/util-vserver/tests/getinitpid.c b/util-vserver/tests/getinitpid.c new file mode 100644 index 0000000..1de298b --- /dev/null +++ b/util-vserver/tests/getinitpid.c @@ -0,0 +1,46 @@ +// $Id$ --*- c++ -*-- + +// Copyright (C) 2003 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 "compat.h" +#include "vserver.h" +#include "internal.h" +#include "src/util.h" + +#include +#include +#include + +int main(int argc, char *argv[]) +{ + char buf[32]; + pid_t pid; + + if (argc==1) pid = vc_X_getinitpid(0); + else pid = vc_X_getinitpid(atoi(argv[1])); + + utilvserver_int2str(buf, sizeof buf, pid, 10); + + WRITE_STR(1, buf); + WRITE_MSG(1, "\n"); + + return 0; +}