git.annexia.org
/
hivex.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
hivex: Add 'hivexsh' program (shell for navigating registry hives).
[hivex.git]
/
hivex
/
hivexget.c
diff --git
a/hivex/hivexget.c
b/hivex/hivexget.c
index
9bb6bbb
..
4f2419c
100644
(file)
--- a/
hivex/hivexget.c
+++ b/
hivex/hivexget.c
@@
-16,6
+16,8
@@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+#include <config.h>
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@
-25,32
+27,48
@@
#include "hivex.h"
#include "hivex.h"
+#ifdef HAVE_GETTEXT
+#include "gettext.h"
+#define _(str) dgettext(PACKAGE, (str))
+//#define N_(str) dgettext(PACKAGE, (str))
+#else
+#define _(str) str
+//#define N_(str) str
+#endif
+
+enum { EXIT_NOT_FOUND = 2 };
+
int
main (int argc, char *argv[])
{
int
main (int argc, char *argv[])
{
+ setlocale (LC_ALL, "");
+ bindtextdomain (PACKAGE, LOCALEBASEDIR);
+ textdomain (PACKAGE);
+
if (argc < 3 || argc > 4) {
if (argc < 3 || argc > 4) {
- fprintf (stderr,
"hivexget regfile path [key]\n"
);
- exit (
1
);
+ fprintf (stderr,
_("hivexget regfile path [key]\n")
);
+ exit (
EXIT_FAILURE
);
}
}
+
char *file = argv[1];
char *path = argv[2];
char *key = argv[3]; /* could be NULL */
if (path[0] != '\\') {
char *file = argv[1];
char *path = argv[2];
char *key = argv[3]; /* could be NULL */
if (path[0] != '\\') {
- fprintf (stderr,
"hivexget: path must start with a \\ character\n"
);
- exit (
1
);
+ fprintf (stderr,
_("hivexget: path must start with a \\ character\n")
);
+ exit (
EXIT_FAILURE
);
}
if (path[1] == '\\') {
doubled:
}
if (path[1] == '\\') {
doubled:
- fprintf (stderr,
"hivexget: %s: \\ characters in path are doubled - are you escaping the path parameter correctly?\n
", path);
- exit (
1
);
+ fprintf (stderr,
_("%s: %s: \\ characters in path are doubled - are you escaping the path parameter correctly?\n"), "hivexget
", path);
+ exit (
EXIT_FAILURE
);
}
hive_h *h = hivex_open (file, 0);
if (h == NULL) {
error:
perror (file);
}
hive_h *h = hivex_open (file, 0);
if (h == NULL) {
error:
perror (file);
- exit (
1
);
+ exit (
EXIT_FAILURE
);
}
/* Navigate to the desired node. */
}
/* Navigate to the desired node. */
@@
-78,9
+96,9
@@
main (int argc, char *argv[])
if (errno)
goto error;
/* else node not found */
if (errno)
goto error;
/* else node not found */
- fprintf (stderr,
"hivexget: %s: %s: path element not found\n"
,
+ fprintf (stderr,
_("hivexget: %s: %s: path element not found\n")
,
path, p);
path, p);
- exit (
2
);
+ exit (
EXIT_NOT_FOUND
);
}
p = pnext;
}
p = pnext;
@@
-100,8
+118,8
@@
main (int argc, char *argv[])
if (errno)
goto error;
/* else key not found */
if (errno)
goto error;
/* else key not found */
- fprintf (stderr,
"hivexget: %s: key not found\n
", key);
- exit (
2
);
+ fprintf (stderr,
_("%s: %s: key not found\n"), "hivexget
", key);
+ exit (
EXIT_NOT_FOUND
);
}
/* Print the value. */
}
/* Print the value. */
@@
-262,5
+280,5
@@
main (int argc, char *argv[])
if (hivex_close (h) == -1)
goto error;
if (hivex_close (h) == -1)
goto error;
- exit (
0
);
+ exit (
EXIT_SUCCESS
);
}
}