aboutsummaryrefslogtreecommitdiff
path: root/src/util/test_strings_to_data.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2013-03-22 17:33:59 +0000
committerChristian Grothoff <christian@grothoff.org>2013-03-22 17:33:59 +0000
commit728a3f8c8a1098dea35732c3ad59fb8d60ee8e0f (patch)
tree40c5157956a84df91ed09c8d620cf2d83626941e /src/util/test_strings_to_data.c
parent8bcc7b48e6e2e07ee5ba4da0e0c93714c6698c4d (diff)
downloadgnunet-728a3f8c8a1098dea35732c3ad59fb8d60ee8e0f.tar.gz
gnunet-728a3f8c8a1098dea35732c3ad59fb8d60ee8e0f.zip
-fixing string decoder issue for input sizes of a multiple of 5
Diffstat (limited to 'src/util/test_strings_to_data.c')
-rw-r--r--src/util/test_strings_to_data.c51
1 files changed, 27 insertions, 24 deletions
diff --git a/src/util/test_strings_to_data.c b/src/util/test_strings_to_data.c
index d98cd8578..739773558 100644
--- a/src/util/test_strings_to_data.c
+++ b/src/util/test_strings_to_data.c
@@ -30,30 +30,33 @@
30int 30int
31main (int argc, char *argv[]) 31main (int argc, char *argv[])
32{ 32{
33 GNUNET_log_setup ("util", "DEBUG", NULL); 33 char buf[1024];
34 char *conv; 34 char *end;
35 char buf[255]; 35 char src[128];
36 char *end; 36 char dst[128];
37 struct GNUNET_CRYPTO_EccPublicKeyBinaryEncoded src; 37 unsigned int i;
38 struct GNUNET_CRYPTO_EccPublicKeyBinaryEncoded dest; 38 int ret = 0;
39 39
40 memset (&src, '\1', sizeof (src)); 40 GNUNET_log_setup ("util", "DEBUG", NULL);
41 memset (&dest, '\2', sizeof (dest)); 41 for (i=0;i<sizeof(src);i++)
42 42 {
43 end = GNUNET_STRINGS_data_to_string (&src, sizeof (src), buf, sizeof (buf)); 43 memset (src, i, sizeof (src));
44 end[0] = '\0'; 44 memset (dst, i+1, sizeof (dst));
45 fprintf (stderr, "Key `%s'\n",buf); 45
46 GNUNET_assert (GNUNET_OK == GNUNET_CRYPTO_ecc_public_key_from_string (buf, strlen (buf), &dest)); 46 end = GNUNET_STRINGS_data_to_string (&src, i, buf, sizeof (buf));
47 47 end[0] = '\0';
48 conv = GNUNET_CRYPTO_ecc_public_key_to_string (&src); 48 if (GNUNET_OK !=
49 GNUNET_assert (NULL != conv); 49 GNUNET_STRINGS_string_to_data (buf, strlen (buf), dst, i))
50 fprintf (stderr, "Key `%s'\n",conv); 50 {
51 51 fprintf (stderr, "%u failed decode (%u bytes)\n", i, (unsigned int) strlen (buf));
52 52 ret = 1;
53 GNUNET_assert (GNUNET_OK == GNUNET_STRINGS_string_to_data (conv, strlen (conv), (unsigned char *) &dest, sizeof (dest))); 53 } else if (0 != memcmp (src, dst, i))
54 GNUNET_assert (0 == memcmp (&src, &dest, sizeof (dest))); 54 {
55 55 fprintf (stderr, "%u wrong decode (%u bytes)\n", i, (unsigned int) strlen (buf));
56 return 0; 56 ret = 1;
57 }
58 }
59 return ret;
57} 60}
58 61
59 62