X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=udev%2Ftest-udev.c;h=4aa7999fc0e57ce1194c993a8a4b3b75828abd77;hb=659353f5a9a52336c41cf595d933311b8dc48937;hp=4e782a0d613780fbe5f1aeb2a73572b94c1afe53;hpb=7d563a17f3967890331daf08d43f2f005418139b;p=elogind.git diff --git a/udev/test-udev.c b/udev/test-udev.c index 4e782a0d6..4aa7999fc 100644 --- a/udev/test-udev.c +++ b/udev/test-udev.c @@ -1,24 +1,21 @@ /* * Copyright (C) 2003-2004 Greg Kroah-Hartman - * Copyright (C) 2004-2006 Kay Sievers + * Copyright (C) 2004-2008 Kay Sievers * - * 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., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * 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, either version 2 of the License, or + * (at your option) any later version. * + * 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, see . */ -#include "config.h" - #include #include #include @@ -33,7 +30,6 @@ #include "udev.h" #include "udev_rules.h" -#include "udev_selinux.h" static void asmlinkage sig_handler(int signum) { @@ -57,29 +53,12 @@ int main(int argc, char *argv[]) const char *devpath; const char *subsystem; struct sigaction act; - int devnull; int retval = -EINVAL; udev = udev_new(); if (udev == NULL) exit(1); dbg(udev, "version %s\n", VERSION); - selinux_init(udev); - - /* set std fd's to /dev/null, /sbin/hotplug forks us, we don't have them at all */ - devnull = open("/dev/null", O_RDWR); - if (devnull >= 0) { - if (devnull != STDIN_FILENO) - dup2(devnull, STDIN_FILENO); - if (devnull != STDOUT_FILENO) - dup2(devnull, STDOUT_FILENO); - if (devnull != STDERR_FILENO) - dup2(devnull, STDERR_FILENO); - if (devnull > STDERR_FILENO) - close(devnull); - } else { - err(udev, "open /dev/null failed: %s\n", strerror(errno)); - } /* set signal handlers */ memset(&act, 0x00, sizeof(act)); @@ -128,7 +107,7 @@ int main(int argc, char *argv[]) /* override built-in sysfs device */ udevice->dev = dev; - strlcpy(udevice->action, action, sizeof(udevice->action)); + util_strlcpy(udevice->action, action, sizeof(udevice->action)); /* get dev_t from environment, which is needed for "remove" to work, "add" works also from sysfs */ maj = getenv("MAJOR"); @@ -151,9 +130,8 @@ int main(int argc, char *argv[]) fail: udev_rules_cleanup(&rules); sysfs_cleanup(); - selinux_exit(udev); - exit: + udev_unref(udev); if (retval != 0) return 1; return 0;