X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibudev%2Flibudev-queue.c;h=f67dba99584ab2dad1f74a7629924fcf14c144e5;hb=5972fe953ec56c77936a1e612ca87d8a0e6c0c64;hp=e2e6319188663906720623bac154efd8769fd4c5;hpb=21dbe43aece5b6fc87860de175f067b56649e7d1;p=elogind.git diff --git a/src/libudev/libudev-queue.c b/src/libudev/libudev-queue.c index e2e631918..f67dba995 100644 --- a/src/libudev/libudev-queue.c +++ b/src/libudev/libudev-queue.c @@ -1,14 +1,22 @@ -/* - * libudev - interface to udev device information - * - * Copyright (C) 2008 Kay Sievers - * Copyright (C) 2009 Alan Jenkins - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - */ +/*** + This file is part of systemd. + + Copyright 2008-2012 Kay Sievers + Copyright 2009 Alan Jenkins + + systemd is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 of the License, or + (at your option) any later version. + + systemd 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with systemd; If not, see . +***/ #include #include @@ -92,16 +100,19 @@ _public_ struct udev_queue *udev_queue_ref(struct udev_queue *udev_queue) * * Drop a reference of a udev queue context. If the refcount reaches zero, * the resources of the queue context will be released. + * + * Returns: #NULL **/ -_public_ void udev_queue_unref(struct udev_queue *udev_queue) +_public_ struct udev_queue *udev_queue_unref(struct udev_queue *udev_queue) { if (udev_queue == NULL) - return; + return NULL; udev_queue->refcount--; if (udev_queue->refcount > 0) - return; + return NULL; udev_list_cleanup(&udev_queue->queue_list); free(udev_queue); + return NULL; } /** @@ -207,16 +218,14 @@ ssize_t udev_queue_read_devpath(FILE *queue_file, char *devpath, size_t size) static FILE *open_queue_file(struct udev_queue *udev_queue, unsigned long long int *seqnum_start) { - char filename[UTIL_PATH_SIZE]; FILE *queue_file; - util_strscpyl(filename, sizeof(filename), "/run/udev/queue.bin", NULL); - queue_file = fopen(filename, "re"); + queue_file = fopen("/run/udev/queue.bin", "re"); if (queue_file == NULL) return NULL; if (udev_queue_read_seqnum(queue_file, seqnum_start) < 0) { - err(udev_queue->udev, "corrupt queue file\n"); + udev_err(udev_queue->udev, "corrupt queue file\n"); fclose(queue_file); return NULL; } @@ -449,7 +458,7 @@ _public_ struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_qu snprintf(seqnum_str, sizeof(seqnum_str), "%llu", seqnum); s = syspath; - l = util_strpcpy(&s, sizeof(syspath), "/sys"); + l = strpcpy(&s, sizeof(syspath), "/sys"); len = udev_queue_read_devpath(queue_file, s, l); if (len < 0) break; @@ -458,7 +467,7 @@ _public_ struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_qu udev_list_entry_add(&udev_queue->queue_list, syspath, seqnum_str); } else { udev_list_entry_foreach(list_entry, udev_list_get_entry(&udev_queue->queue_list)) { - if (strcmp(seqnum_str, udev_list_entry_get_value(list_entry)) == 0) { + if (streq(seqnum_str, udev_list_entry_get_value(list_entry))) { udev_list_entry_delete(list_entry); break; } @@ -469,11 +478,3 @@ _public_ struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_qu return udev_list_get_entry(&udev_queue->queue_list); } - -struct udev_list_entry *udev_queue_get_failed_list_entry(struct udev_queue *udev_queue); -_public_ struct udev_list_entry *udev_queue_get_failed_list_entry(struct udev_queue *udev_queue) -{ - err(udev_queue->udev, "udev_queue_get_failed_list_entry() does not return anything; failed events are not recorded\n"); - errno = ENOSYS; - return NULL; -}