aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gpgme/ChangeLog5
-rw-r--r--gpgme/genkey.c3
-rw-r--r--gpgme/rungpg.c2
-rw-r--r--gpgme/version.c2
4 files changed, 11 insertions, 1 deletions
diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog
index 23e0e56c..447190f8 100644
--- a/gpgme/ChangeLog
+++ b/gpgme/ChangeLog
@@ -1,5 +1,10 @@
2006-07-16 Marcus Brinkmann <[email protected]>
+ * rungpg.c (read_status): Strip potential carriage return.
+ * genkey.c (get_key_parameter): Skip potential carriage return.
+ * version.c (_gpgme_get_program_version): Strip potential carriage
+ return.
+
* data.c (gpgme_data_set_file_name): Allow to clear the file name
by passing NULL.
diff --git a/gpgme/genkey.c b/gpgme/genkey.c
index 3489c89b..afebb7cb 100644
--- a/gpgme/genkey.c
+++ b/gpgme/genkey.c
@@ -142,7 +142,8 @@ get_key_parameter (const char *parms, gpgme_data_t *key_parameter)
endtag = strstr (content, "</GnupgKeyParms>");
/* FIXME: Check that there are no control statements inside. */
- while (*content == '\n')
+ while (content[0] == '\n'
+ || (content[0] == '\r' && content[1] == '\n'))
content++;
return gpgme_data_new_from_mem (key_parameter, content,
diff --git a/gpgme/rungpg.c b/gpgme/rungpg.c
index 1cb4d39b..349b24dd 100644
--- a/gpgme/rungpg.c
+++ b/gpgme/rungpg.c
@@ -845,6 +845,8 @@ read_status (engine_gpg_t gpg)
if (*p == '\n')
{
/* (we require that the last line is terminated by a LF) */
+ if (p > buffer && p[-1] = '\r')
+ p[-1] = 0;
*p = 0;
if (!strncmp (buffer, "[GNUPG:] ", 9)
&& buffer[9] >= 'A' && buffer[9] <= 'Z')
diff --git a/gpgme/version.c b/gpgme/version.c
index f417f9c8..26d2dae2 100644
--- a/gpgme/version.c
+++ b/gpgme/version.c
@@ -200,6 +200,8 @@ _gpgme_get_program_version (const char *const file_name)
mark = strchr (&line[linelen], '\n');
if (mark)
{
+ if (mark > &line[0] && *mark == '\r')
+ mark--;
*mark = '\0';
break;
}