chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
util: add a bit of syntactic sugar for saving/restoring errno
[elogind.git]
/
src
/
shared
/
log.c
diff --git
a/src/shared/log.c
b/src/shared/log.c
index ff2dd453509a2b813c942c6208211dea026887d6..0dd04bc51e65e73519cbaee52ddff58e6e415fdf 100644
(file)
--- a/
src/shared/log.c
+++ b/
src/shared/log.c
@@
-541,11
+541,11
@@
static int log_dispatch(
k = write_to_journal(level, file, line, func,
object_name, object, buffer);
k = write_to_journal(level, file, line, func,
object_name, object, buffer);
- if (k <
=
0) {
- if (k
< 0 && k
!= -EAGAIN)
+ if (k < 0) {
+ if (k != -EAGAIN)
log_close_journal();
log_open_kmsg();
log_close_journal();
log_open_kmsg();
- } else
+ } else
if (k > 0)
r++;
}
r++;
}
@@
-554,11
+554,11
@@
static int log_dispatch(
k = write_to_syslog(level, file, line, func,
object_name, object, buffer);
k = write_to_syslog(level, file, line, func,
object_name, object, buffer);
- if (k <
=
0) {
- if (k
< 0 && k
!= -EAGAIN)
+ if (k < 0) {
+ if (k != -EAGAIN)
log_close_syslog();
log_open_kmsg();
log_close_syslog();
log_open_kmsg();
- } else
+ } else
if (k > 0)
r++;
}
r++;
}
@@
-571,11
+571,10
@@
static int log_dispatch(
k = write_to_kmsg(level, file, line, func,
object_name, object, buffer);
k = write_to_kmsg(level, file, line, func,
object_name, object, buffer);
- if (k <= 0) {
- if (k < 0 && k != -EAGAIN)
- log_close_kmsg();
+ if (k < 0) {
+ log_close_kmsg();
log_open_console();
log_open_console();
- } else
+ } else
if (k > 0)
r++;
}
r++;
}
@@
-599,18
+598,14
@@
int log_dump_internal(
const char *func,
char *buffer) {
const char *func,
char *buffer) {
-
int saved_errno, r
;
+
PROTECT_ERRNO
;
/* This modifies the buffer... */
if (_likely_(LOG_PRI(level) > log_max_level))
return 0;
/* This modifies the buffer... */
if (_likely_(LOG_PRI(level) > log_max_level))
return 0;
- saved_errno = errno;
- r = log_dispatch(level, file, line, func, NULL, NULL, buffer);
- errno = saved_errno;
-
- return r;
+ return log_dispatch(level, file, line, func, NULL, NULL, buffer);
}
int log_metav(
}
int log_metav(
@@
-621,20
+616,16
@@
int log_metav(
const char *format,
va_list ap) {
const char *format,
va_list ap) {
+ PROTECT_ERRNO;
char buffer[LINE_MAX];
char buffer[LINE_MAX];
- int saved_errno, r;
if (_likely_(LOG_PRI(level) > log_max_level))
return 0;
if (_likely_(LOG_PRI(level) > log_max_level))
return 0;
- saved_errno = errno;
vsnprintf(buffer, sizeof(buffer), format, ap);
char_array_0(buffer);
vsnprintf(buffer, sizeof(buffer), format, ap);
char_array_0(buffer);
- r = log_dispatch(level, file, line, func, NULL, NULL, buffer);
- errno = saved_errno;
-
- return r;
+ return log_dispatch(level, file, line, func, NULL, NULL, buffer);
}
int log_meta(
}
int log_meta(
@@
-664,21
+655,17
@@
int log_metav_object(
const char *format,
va_list ap) {
const char *format,
va_list ap) {
+ PROTECT_ERRNO;
char buffer[LINE_MAX];
char buffer[LINE_MAX];
- int saved_errno, r;
if (_likely_(LOG_PRI(level) > log_max_level))
return 0;
if (_likely_(LOG_PRI(level) > log_max_level))
return 0;
- saved_errno = errno;
vsnprintf(buffer, sizeof(buffer), format, ap);
char_array_0(buffer);
vsnprintf(buffer, sizeof(buffer), format, ap);
char_array_0(buffer);
- r = log_dispatch(level, file, line, func,
- object_name, object, buffer);
- errno = saved_errno;
-
- return r;
+ return log_dispatch(level, file, line, func,
+ object_name, object, buffer);
}
int log_meta_object(
}
int log_meta_object(
@@
-736,7
+723,7
@@
int log_struct_internal(
const char *func,
const char *format, ...) {
const char *func,
const char *format, ...) {
-
int saved_errno
;
+
PROTECT_ERRNO
;
va_list ap;
int r;
va_list ap;
int r;
@@
-749,8
+736,6
@@
int log_struct_internal(
if ((level & LOG_FACMASK) == 0)
level = log_facility | LOG_PRI(level);
if ((level & LOG_FACMASK) == 0)
level = log_facility | LOG_PRI(level);
- saved_errno = errno;
-
if ((log_target == LOG_TARGET_AUTO ||
log_target == LOG_TARGET_JOURNAL_OR_KMSG ||
log_target == LOG_TARGET_JOURNAL) &&
if ((log_target == LOG_TARGET_AUTO ||
log_target == LOG_TARGET_JOURNAL_OR_KMSG ||
log_target == LOG_TARGET_JOURNAL) &&
@@
-844,7
+829,6
@@
int log_struct_internal(
r = -EINVAL;
}
r = -EINVAL;
}
- errno = saved_errno;
return r;
}
return r;
}