]>
Commit | Line | Data |
---|---|---|
53e1b683 | 1 | /* SPDX-License-Identifier: LGPL-2.1+ */ |
edce2aed | 2 | |
ca78ad1d ZJS |
3 | #include <fcntl.h> |
4 | #include <sys/stat.h> | |
5 | #include <sys/types.h> | |
6 | ||
3ffd4af2 | 7 | #include "fd-util.h" |
edce2aed | 8 | #include "log.h" |
edce2aed LP |
9 | #include "qcow2-util.h" |
10 | ||
11 | int main(int argc, char *argv[]) { | |
12 | _cleanup_close_ int sfd = -1, dfd = -1; | |
13 | int r; | |
14 | ||
15 | if (argc != 3) { | |
16 | log_error("Needs two arguments."); | |
17 | return EXIT_FAILURE; | |
18 | } | |
19 | ||
20 | sfd = open(argv[1], O_RDONLY|O_CLOEXEC|O_NOCTTY); | |
21 | if (sfd < 0) { | |
22 | log_error_errno(errno, "Can't open source file: %m"); | |
23 | return EXIT_FAILURE; | |
24 | } | |
25 | ||
26 | dfd = open(argv[2], O_WRONLY|O_CREAT|O_CLOEXEC|O_NOCTTY, 0666); | |
27 | if (dfd < 0) { | |
28 | log_error_errno(errno, "Can't open destination file: %m"); | |
29 | return EXIT_FAILURE; | |
30 | } | |
31 | ||
32 | r = qcow2_convert(sfd, dfd); | |
33 | if (r < 0) { | |
34 | log_error_errno(r, "Failed to unpack: %m"); | |
35 | return EXIT_FAILURE; | |
36 | } | |
37 | ||
38 | return EXIT_SUCCESS; | |
39 | } |