chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
install: improve paths we show the user when enabling/disabling
[elogind.git]
/
src
/
notify
/
notify.c
diff --git
a/src/notify/notify.c
b/src/notify/notify.c
index 68133c408b73d44f04dc726033efc32532302876..0b7f3b12f8594049d3e6cc047b1053139d8abe6c 100644
(file)
--- a/
src/notify/notify.c
+++ b/
src/notify/notify.c
@@
-147,25
+147,25
@@
static int parse_argv(int argc, char *argv[]) {
}
int main(int argc, char* argv[]) {
}
int main(int argc, char* argv[]) {
- char* our_env[4], **final_env = NULL;
+ _cleanup_free_ char *status = NULL, *cpid = NULL, *n = NULL;
+ _cleanup_strv_free_ char **final_env = NULL;
+ char* our_env[4];
unsigned i = 0;
unsigned i = 0;
- char *status = NULL, *cpid = NULL, *n = NULL;
- int r, retval = EXIT_FAILURE;
+ int r;
log_parse_environment();
log_open();
r = parse_argv(argc, argv);
log_parse_environment();
log_open();
r = parse_argv(argc, argv);
- if (r <= 0) {
- retval = r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
+ if (r <= 0)
goto finish;
goto finish;
- }
if (arg_booted)
return sd_booted() <= 0;
if (arg_readahead) {
if (arg_booted)
return sd_booted() <= 0;
if (arg_readahead) {
- if ((r = sd_readahead(arg_readahead)) < 0) {
+ r = sd_readahead(arg_readahead);
+ if (r < 0) {
log_error("Failed to issue read-ahead control command: %s", strerror(-r));
goto finish;
}
log_error("Failed to issue read-ahead control command: %s", strerror(-r));
goto finish;
}
@@
-175,8
+175,9
@@
int main(int argc, char* argv[]) {
our_env[i++] = (char*) "READY=1";
if (arg_status) {
our_env[i++] = (char*) "READY=1";
if (arg_status) {
- if (!(status = strappend("STATUS=", arg_status))) {
- log_error("Failed to allocate STATUS string.");
+ status = strappend("STATUS=", arg_status);
+ if (!status) {
+ r = log_oom();
goto finish;
}
goto finish;
}
@@
-185,7
+186,7
@@
int main(int argc, char* argv[]) {
if (arg_pid > 0) {
if (asprintf(&cpid, "MAINPID="PID_FMT, arg_pid) < 0) {
if (arg_pid > 0) {
if (asprintf(&cpid, "MAINPID="PID_FMT, arg_pid) < 0) {
-
log_error("Failed to allocate MAINPID string."
);
+
r = log_oom(
);
goto finish;
}
goto finish;
}
@@
-194,34
+195,32
@@
int main(int argc, char* argv[]) {
our_env[i++] = NULL;
our_env[i++] = NULL;
- if (!(final_env = strv_env_merge(2, our_env, argv + optind))) {
- log_error("Failed to merge string sets.");
+ final_env = strv_env_merge(2, our_env, argv + optind);
+ if (!final_env) {
+ r = log_oom();
goto finish;
}
if (strv_length(final_env) <= 0) {
goto finish;
}
if (strv_length(final_env) <= 0) {
- r
etval = EXIT_SUCCESS
;
+ r
= 0
;
goto finish;
}
goto finish;
}
- if (!(n = strv_join(final_env, "\n"))) {
- log_error("Failed to concatenate strings.");
+ n = strv_join(final_env, "\n");
+ if (!n) {
+ r = log_oom();
goto finish;
}
goto finish;
}
- if ((r = sd_notify(false, n)) < 0) {
+ r = sd_pid_notify(arg_pid, false, n);
+ if (r < 0) {
log_error("Failed to notify init system: %s", strerror(-r));
goto finish;
}
log_error("Failed to notify init system: %s", strerror(-r));
goto finish;
}
- retval = r <= 0 ? EXIT_FAILURE : EXIT_SUCCESS;
+ if (r == 0)
+ r = -ENOTSUP;
finish:
finish:
- free(status);
- free(cpid);
- free(n);
-
- strv_free(final_env);
-
- return retval;
+ return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
}
}