diff options
author | Richard Jones <rjones@redhat.com> | 2010-04-23 13:42:10 +0100 |
---|---|---|
committer | Richard Jones <rjones@redhat.com> | 2010-04-23 14:15:12 +0100 |
commit | af29c84cef791381ac3aebae30d8831b7de77e36 (patch) | |
tree | 153c03ba3cad67edbe509864a9fdae244951b149 | |
parent | d054dfb2f948f53188f448d2c7fade83db9bbab8 (diff) | |
download | libguestfs-af29c84cef791381ac3aebae30d8831b7de77e36.tar.gz libguestfs-af29c84cef791381ac3aebae30d8831b7de77e36.tar.xz libguestfs-af29c84cef791381ac3aebae30d8831b7de77e36.zip |
daemon: Split out checksum type to program name mapping into function.
This shouldn't change the semantics of the program.
-rw-r--r-- | daemon/checksum.c | 36 |
1 files changed, 22 insertions, 14 deletions
diff --git a/daemon/checksum.c b/daemon/checksum.c index 13719fd7..4ee62318 100644 --- a/daemon/checksum.c +++ b/daemon/checksum.c @@ -27,32 +27,40 @@ #include "daemon.h" #include "actions.h" -static char * -checksum (const char *csumtype, const char *path) +static const char * +program_of_csum (const char *csumtype) { - const char *program; - char *out, *err; - int r; - int len; - if (STRCASEEQ (csumtype, "crc")) - program = "cksum"; + return "cksum"; else if (STRCASEEQ (csumtype, "md5")) - program = "md5sum"; + return "md5sum"; else if (STRCASEEQ (csumtype, "sha1")) - program = "sha1sum"; + return "sha1sum"; else if (STRCASEEQ (csumtype, "sha224")) - program = "sha224sum"; + return "sha224sum"; else if (STRCASEEQ (csumtype, "sha256")) - program = "sha256sum"; + return "sha256sum"; else if (STRCASEEQ (csumtype, "sha384")) - program = "sha384sum"; + return "sha384sum"; else if (STRCASEEQ (csumtype, "sha512")) - program = "sha512sum"; + return "sha512sum"; else { reply_with_error ("unknown checksum type, expecting crc|md5|sha1|sha224|sha256|sha384|sha512"); return NULL; } +} + +static char * +checksum (const char *csumtype, const char *path) +{ + const char *program; + char *out, *err; + int r; + int len; + + program = program_of_csum (csumtype); + if (program == NULL) + return NULL; r = command (&out, &err, program, path, NULL); if (r == -1) { |