X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=hivex%2Fhivexget.c;h=3e89d632a81243893e182bf44de6832098ce1112;hb=e28207d5ad7ed96e10467e38788239ef9690285e;hp=9bb6bbb1bbeb319a59d929702e652b7e9f7484e4;hpb=792c5283009ed6753239a14df9a6e9c71bea35fd;p=libguestfs.git diff --git a/hivex/hivexget.c b/hivex/hivexget.c index 9bb6bbb..3e89d63 100644 --- a/hivex/hivexget.c +++ b/hivex/hivexget.c @@ -16,6 +16,8 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ +#include + #include #include #include @@ -25,12 +27,14 @@ #include "hivex.h" +enum { EXIT_NOT_FOUND = 2 }; + int main (int argc, char *argv[]) { if (argc < 3 || argc > 4) { fprintf (stderr, "hivexget regfile path [key]\n"); - exit (1); + exit (EXIT_FAILURE); } char *file = argv[1]; char *path = argv[2]; @@ -38,19 +42,19 @@ main (int argc, char *argv[]) if (path[0] != '\\') { fprintf (stderr, "hivexget: path must start with a \\ character\n"); - exit (1); + exit (EXIT_FAILURE); } if (path[1] == '\\') { doubled: fprintf (stderr, "hivexget: %s: \\ characters in path are doubled - are you escaping the path parameter correctly?\n", path); - exit (1); + exit (EXIT_FAILURE); } hive_h *h = hivex_open (file, 0); if (h == NULL) { error: perror (file); - exit (1); + exit (EXIT_FAILURE); } /* Navigate to the desired node. */ @@ -80,7 +84,7 @@ main (int argc, char *argv[]) /* else node not found */ fprintf (stderr, "hivexget: %s: %s: path element not found\n", path, p); - exit (2); + exit (EXIT_NOT_FOUND); } p = pnext; @@ -101,7 +105,7 @@ main (int argc, char *argv[]) goto error; /* else key not found */ fprintf (stderr, "hivexget: %s: key not found\n", key); - exit (2); + exit (EXIT_NOT_FOUND); } /* Print the value. */ @@ -262,5 +266,5 @@ main (int argc, char *argv[]) if (hivex_close (h) == -1) goto error; - exit (0); + exit (EXIT_SUCCESS); }