[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r30547 - gnunet-gtk/src/namestore
From: |
gnunet |
Subject: |
[GNUnet-SVN] r30547 - gnunet-gtk/src/namestore |
Date: |
Tue, 5 Nov 2013 22:12:54 +0100 |
Author: grothoff
Date: 2013-11-05 22:12:54 +0100 (Tue, 05 Nov 2013)
New Revision: 30547
Modified:
gnunet-gtk/src/namestore/gnunet-namestore-gtk.c
Log:
-use more compact QR encoding, if possible
Modified: gnunet-gtk/src/namestore/gnunet-namestore-gtk.c
===================================================================
--- gnunet-gtk/src/namestore/gnunet-namestore-gtk.c 2013-11-05 21:00:42 UTC
(rev 30546)
+++ gnunet-gtk/src/namestore/gnunet-namestore-gtk.c 2013-11-05 21:12:54 UTC
(rev 30547)
@@ -453,33 +453,50 @@
const char *dir;
char *fn;
unsigned int size;
+ char *upper;
- qri = QRinput_new2 (0, QR_ECLEVEL_Q);
+ qri = QRinput_new2 (0, QR_ECLEVEL_M);
if (NULL == qri)
{
- GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "QRinput_new2");
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING,
+ "QRinput_new2");
return NULL;
}
entry = GTK_ENTRY (get_object ("gnunet_namestore_gtk_pseu_entry"));
pseu = gtk_entry_get_text (GTK_ENTRY(entry));
GNUNET_asprintf (&str,
- "gnunet://gns/%s/%s\n",
+ "gnunet://gns/%s/%s",
GNUNET_GNSRECORD_z2s (&pubkey),
pseu);
- if (0 != QRinput_append (qri,
- QR_MODE_8,
- strlen (str),
- (unsigned char*) str))
- {
- GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "QRinput_append");
+ upper = GNUNET_strdup (str);
+ GNUNET_STRINGS_utf8_toupper (str,
+ upper);
+ /* first try encoding as uppercase-only alpha-numerical
+ QR code (much smaller encoding); if that fails, also
+ try using binary encoding (in case nick contains
+ special characters). */
+ if ( (0 != QRinput_append (qri,
+ QR_MODE_AN,
+ strlen (upper),
+ (unsigned char*) upper)) &&
+ (0 != QRinput_append (qri,
+ QR_MODE_8,
+ strlen (str),
+ (unsigned char*) str)) )
+ {
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING,
+ "QRinput_append");
+ GNUNET_free (upper);
GNUNET_free (str);
return NULL;
}
+ GNUNET_free (upper);
GNUNET_free (str);
qrc = QRcode_encodeInput (qri);
if (NULL == qrc)
{
- GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "QRcode_encodeInput");
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING,
+ "QRcode_encodeInput");
QRinput_free (qri);
return NULL;
}
@@ -530,7 +547,8 @@
pb = create_qrcode (2);
if (NULL == pb)
{
- GNUNET_log (GNUNET_ERROR_TYPE_WARNING, _("Failed to initialize QR-code
pixbuf"));
+ GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+ _("Failed to initialize QR-code pixbuf\n"));
return;
}
image = GTK_IMAGE (get_object ("gnunet_namestore_gtk_qr_image"));
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r30547 - gnunet-gtk/src/namestore,
gnunet <=