chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
768100e
)
fileio: don't check for errors more often than really necessary
author
Lennart Poettering
<lennart@poettering.net>
Wed, 3 Apr 2013 18:04:57 +0000
(20:04 +0200)
committer
Lennart Poettering
<lennart@poettering.net>
Wed, 3 Apr 2013 18:12:57 +0000
(20:12 +0200)
src/shared/fileio.c
patch
|
blob
|
history
diff --git
a/src/shared/fileio.c
b/src/shared/fileio.c
index 2ccb9e7edc70453b6e027e758475881431a05357..400a416162639e164cabb3a0c08d184a6f3bc585 100644
(file)
--- a/
src/shared/fileio.c
+++ b/
src/shared/fileio.c
@@
-35,9
+35,7
@@
int write_string_file(const char *fn, const char *line) {
return -errno;
errno = 0;
return -errno;
errno = 0;
- if (fputs(line, f) < 0)
- return errno ? -errno : -EIO;
-
+ fputs(line, f);
if (!endswith(line, "\n"))
fputc('\n', f);
if (!endswith(line, "\n"))
fputc('\n', f);
@@
-64,11
+62,7
@@
int write_string_file_atomic(const char *fn, const char *line) {
fchmod_umask(fileno(f), 0644);
errno = 0;
fchmod_umask(fileno(f), 0644);
errno = 0;
- if (fputs(line, f) < 0) {
- r = -errno;
- goto finish;
- }
-
+ fputs(line, f);
if (!endswith(line, "\n"))
fputc('\n', f);
if (!endswith(line, "\n"))
fputc('\n', f);
@@
-83,7
+77,6
@@
int write_string_file_atomic(const char *fn, const char *line) {
r = 0;
}
r = 0;
}
-finish:
if (r < 0)
unlink(p);
if (r < 0)
unlink(p);
@@
-571,12
+564,9
@@
int write_env_file(const char *fname, char **l) {
fflush(f);
fflush(f);
- if (ferror(f)) {
- if (errno > 0)
- r = -errno;
- else
- r = -EIO;
- } else {
+ if (ferror(f))
+ r = errno ? -errno : -EIO;
+ else {
if (rename(p, fname) < 0)
r = -errno;
else
if (rename(p, fname) < 0)
r = -errno;
else