mirror of
https://github.com/systemd/systemd
synced 2024-07-23 19:25:39 +00:00
hibernate-resume-generator: use static destructor and DEFINE_MAIN_FUNCTION() macro
This commit is contained in:
parent
a4ef3e4dbb
commit
77182cc65e
|
@ -7,6 +7,7 @@
|
|||
#include "fstab-util.h"
|
||||
#include "generator.h"
|
||||
#include "log.h"
|
||||
#include "main-func.h"
|
||||
#include "mkdir.h"
|
||||
#include "proc-cmdline.h"
|
||||
#include "special.h"
|
||||
|
@ -18,6 +19,8 @@ static const char *arg_dest = "/tmp";
|
|||
static char *arg_resume_device = NULL;
|
||||
static bool arg_noresume = false;
|
||||
|
||||
STATIC_DESTRUCTOR_REGISTER(arg_resume_device, freep);
|
||||
|
||||
static int parse_proc_cmdline_item(const char *key, const char *value, void *data) {
|
||||
|
||||
if (streq(key, "resume")) {
|
||||
|
@ -66,7 +69,7 @@ static int process_resume(void) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
static int run(int argc, char *argv[]) {
|
||||
int r = 0;
|
||||
|
||||
log_setup_generator();
|
||||
|
@ -75,7 +78,7 @@ int main(int argc, char *argv[]) {
|
|||
|
||||
if (argc > 1 && argc != 4) {
|
||||
log_error("This program takes three or no arguments.");
|
||||
return EXIT_FAILURE;
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (argc > 1)
|
||||
|
@ -84,7 +87,7 @@ int main(int argc, char *argv[]) {
|
|||
/* Don't even consider resuming outside of initramfs. */
|
||||
if (!in_initrd()) {
|
||||
log_debug("Not running in an initrd, quitting.");
|
||||
return EXIT_SUCCESS;
|
||||
return 0;
|
||||
}
|
||||
|
||||
r = proc_cmdline_parse(parse_proc_cmdline_item, NULL, 0);
|
||||
|
@ -93,14 +96,10 @@ int main(int argc, char *argv[]) {
|
|||
|
||||
if (arg_noresume) {
|
||||
log_notice("Found \"noresume\" on the kernel command line, quitting.");
|
||||
r = 0;
|
||||
goto finish;
|
||||
return 0;
|
||||
}
|
||||
|
||||
r = process_resume();
|
||||
|
||||
finish:
|
||||
free(arg_resume_device);
|
||||
|
||||
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
|
||||
return process_resume();
|
||||
}
|
||||
|
||||
DEFINE_MAIN_FUNCTION(run);
|
||||
|
|
Loading…
Reference in a new issue