From 5c979a8ce1c9bd776fa268f9ded40c0f718419b1 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 24 Jul 2019 12:23:54 +0200 Subject: [PATCH] mescc: Mes C Library: Support GNU Tar: Add getgrgid, getgrnam, setgrent stub. * include/grp.h: New file. * lib/stub/getgrgid.c: New file. * lib/stub/getgrnam.c: New file. * lib/stub/setgrent.c: New file. * lib/libc+gnu.c: Include them. --- build-aux/configure-lib.sh | 3 +++ lib/stub/getgrgid.c | 35 +++++++++++++++++++++++++++++++++++ lib/stub/getgrnam.c | 35 +++++++++++++++++++++++++++++++++++ lib/stub/setgrent.c | 31 +++++++++++++++++++++++++++++++ 4 files changed, 104 insertions(+) create mode 100644 lib/stub/getgrgid.c create mode 100644 lib/stub/getgrnam.c create mode 100644 lib/stub/setgrent.c diff --git a/build-aux/configure-lib.sh b/build-aux/configure-lib.sh index c862fdeb..5ffb8b3d 100644 --- a/build-aux/configure-lib.sh +++ b/build-aux/configure-lib.sh @@ -271,6 +271,8 @@ lib/stub/fpurge.c lib/stub/freadahead.c lib/stub/frexp.c lib/stub/fscanf.c +lib/stub/getgrgid.c +lib/stub/getgrnam.c lib/stub/getlogin.c lib/stub/getpgid.c lib/stub/getpgrp.c @@ -283,6 +285,7 @@ lib/stub/popen.c lib/stub/rand.c lib/stub/rewind.c lib/stub/setbuf.c +lib/stub/setgrent.c lib/stub/setlocale.c lib/stub/setvbuf.c lib/stub/sigaddset.c diff --git a/lib/stub/getgrgid.c b/lib/stub/getgrgid.c new file mode 100644 index 00000000..9859b8dd --- /dev/null +++ b/lib/stub/getgrgid.c @@ -0,0 +1,35 @@ +/* -*-comment-start: "//";comment-end:""-*- + * GNU Mes --- Maxwell Equations of Software + * Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen + * + * This file is part of GNU Mes. + * + * GNU Mes 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; either version 3 of the License, or (at + * your option) any later version. + * + * GNU Mes 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 GNU Mes. If not, see . + */ + +#include +#include + +struct group * +getgrgid (gid_t gid) +{ + static int stub = 0; + if (__mes_debug () && !stub) + eputs ("getgrid stub\n"); + static char *groups[2] = {"root", 0 }; + static struct group root = {"root", 0, groups}; + stub = 1; + errno = 0; + return &root; +} diff --git a/lib/stub/getgrnam.c b/lib/stub/getgrnam.c new file mode 100644 index 00000000..466d738e --- /dev/null +++ b/lib/stub/getgrnam.c @@ -0,0 +1,35 @@ +/* -*-comment-start: "//";comment-end:""-*- + * GNU Mes --- Maxwell Equations of Software + * Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen + * + * This file is part of GNU Mes. + * + * GNU Mes 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; either version 3 of the License, or (at + * your option) any later version. + * + * GNU Mes 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 GNU Mes. If not, see . + */ + +#include +#include + +struct group * +getgrnam (char const *name) +{ + static int stub = 0; + if (__mes_debug () && !stub) + eputs ("getgrid stub\n"); + static char *groups[2] = {"root", 0 }; + static struct group root = {"root", 0, groups}; + stub = 1; + errno = 0; + return &root; +} diff --git a/lib/stub/setgrent.c b/lib/stub/setgrent.c new file mode 100644 index 00000000..5e6e27e2 --- /dev/null +++ b/lib/stub/setgrent.c @@ -0,0 +1,31 @@ +/* -*-comment-start: "//";comment-end:""-*- + * GNU Mes --- Maxwell Equations of Software + * Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen + * + * This file is part of GNU Mes. + * + * GNU Mes 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; either version 3 of the License, or (at + * your option) any later version. + * + * GNU Mes 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 GNU Mes. If not, see . + */ + +#include + +void +setgrent (void) +{ + static int stub = 0; + if (__mes_debug () && !stub) + eputs ("setgrent stub\n"); + stub = 1; + errno = 0; +}