summaryrefslogtreecommitdiffstats
path: root/test/unbase64.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2003-01-28 19:56:41 +0000
committerHavoc Pennington <hp@redhat.com>2003-01-28 19:56:41 +0000
commitdef834b73b7e306790437b3d02613b14a94e6655 (patch)
tree0a48289d171059ebd5778a5fa60c1a0de3fc7d4b /test/unbase64.c
parentd02b7cd060dea848c79afa71eb0364eaa47379ff (diff)
2003-01-28 Havoc Pennington <hp@redhat.com>
* dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in the reverse order from how I had it (_dbus_string_base64_encode): reverse encoding order. I was basically byteswapping everything during encoding.
Diffstat (limited to 'test/unbase64.c')
-rw-r--r--test/unbase64.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/test/unbase64.c b/test/unbase64.c
new file mode 100644
index 00000000..cc123658
--- /dev/null
+++ b/test/unbase64.c
@@ -0,0 +1,44 @@
+#include <dbus/dbus.h>
+#define DBUS_COMPILATION /* cheat and use string etc. */
+#include <dbus/dbus-string.h>
+#include <dbus/dbus-sysdeps.h>
+#include <dbus/dbus-internals.h>
+#undef DBUS_COMPILATION
+#include <stdio.h>
+
+int
+main (int argc,
+ char **argv)
+{
+ DBusString contents;
+ DBusString decoded;
+ DBusString filename;
+ const char *s;
+
+ if (argc < 2)
+ {
+ fprintf (stderr, "Give the file to decode as an argument\n");
+ return 1;
+ }
+
+ _dbus_string_init_const (&filename, argv[1]);
+
+ if (!_dbus_string_init (&contents, _DBUS_INT_MAX))
+ return 1;
+
+ if (!_dbus_string_init (&decoded, _DBUS_INT_MAX))
+ return 1;
+
+ if (_dbus_file_get_contents (&contents, &filename) != DBUS_RESULT_SUCCESS)
+ return 1;
+
+ if (!_dbus_string_base64_decode (&contents, 0,
+ &decoded, 0))
+ return 1;
+
+ _dbus_string_get_const_data (&decoded, &s);
+
+ fputs (s, stdout);
+
+ return 0;
+}