X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibudev%2Flibudev-device-private.c;h=c123057907d20819b21dfc205aea9adb68cca3b8;hb=16eb4da97e1bfe7f9416a0622b1a06408e550423;hp=00fa3b88908467b0a4448a446bb31b9f937c9d9e;hpb=4cb72937d3c10948e4904388ea27efae75775f08;p=elogind.git diff --git a/src/libudev/libudev-device-private.c b/src/libudev/libudev-device-private.c index 00fa3b889..c12305790 100644 --- a/src/libudev/libudev-device-private.c +++ b/src/libudev/libudev-device-private.c @@ -1,13 +1,21 @@ -/* - * libudev - interface to udev device information - * - * Copyright (C) 2008-2010 Kay Sievers - * - * 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 + + 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 @@ -101,6 +109,7 @@ int udev_device_update_db(struct udev_device *udev_device) char filename[UTIL_PATH_SIZE]; char filename_tmp[UTIL_PATH_SIZE]; FILE *f; + int r; id = udev_device_get_id_filename(udev_device); if (id == NULL) @@ -146,7 +155,7 @@ int udev_device_update_db(struct udev_device *udev_device) } if (udev_device_get_usec_initialized(udev_device) > 0) - fprintf(f, "I:%llu\n", udev_device_get_usec_initialized(udev_device)); + fprintf(f, "I:%llu\n", (unsigned long long)udev_device_get_usec_initialized(udev_device)); udev_list_entry_foreach(list_entry, udev_device_get_properties_list_entry(udev_device)) { if (!udev_list_entry_get_num(list_entry)) @@ -161,7 +170,9 @@ int udev_device_update_db(struct udev_device *udev_device) } fclose(f); - rename(filename_tmp, filename); + r = rename(filename_tmp, filename); + if (r < 0) + return -1; udev_dbg(udev, "created %s file '%s' for '%s'\n", has_info ? "db" : "empty", filename, udev_device_get_devpath(udev_device)); return 0;