aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--g10/ChangeLog8
-rw-r--r--g10/import.c6
-rw-r--r--g10/passphrase.c21
3 files changed, 22 insertions, 13 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index 84f05b2a0..de855dc1b 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,11 @@
+2002-10-04 Werner Koch <[email protected]>
+
+ * import.c (import_keys_internal): s/inp/inp2/ to avoid shadowing
+ warning.
+
+ * passphrase.c (agent_get_passphrase): Fixed signed/unsigned char
+ problem in %-escaping. Noted by Ingo Kl�cker.
+
2002-10-03 David Shaw <[email protected]>
* options.h, g10.c (main): Add --strict and --no-strict to switch
diff --git a/g10/import.c b/g10/import.c
index 9f6b8936e..30ac913e2 100644
--- a/g10/import.c
+++ b/g10/import.c
@@ -193,14 +193,14 @@ import_keys_internal( IOBUF inp, char **fnames, int nnames,
for(i=0; i < nnames; i++ ) {
const char *fname = fnames? fnames[i] : NULL;
- IOBUF inp = iobuf_open(fname);
+ IOBUF inp2 = iobuf_open(fname);
if( !fname )
fname = "[stdin]";
if( !inp )
log_error(_("can't open `%s': %s\n"), fname, strerror(errno) );
else {
- rc = import( inp, fname, stats, options );
- iobuf_close(inp);
+ rc = import( inp2, fname, stats, options );
+ iobuf_close(inp2);
if( rc )
log_error("import from `%s' failed: %s\n", fname,
g10_errstr(rc) );
diff --git a/g10/passphrase.c b/g10/passphrase.c
index 0da40e3c0..d84d6e88b 100644
--- a/g10/passphrase.c
+++ b/g10/passphrase.c
@@ -732,6 +732,7 @@ agent_get_passphrase ( u32 *keyid, int mode, const char *tryagain_text )
else
{ /* The new Assuan protocol */
char *line, *p;
+ const unsigned char *s;
int i;
if (!tryagain_text)
@@ -751,33 +752,33 @@ agent_get_passphrase ( u32 *keyid, int mode, const char *tryagain_text )
else
*p++ = 'X'; /* no caching */
*p++ = ' ';
- for (i=0; tryagain_text[i]; i++)
+ for (i=0, s=tryagain_text; *s; s++)
{
- if (tryagain_text[i] < ' ' || tryagain_text[i] == '+')
+ if (*s < ' ' || *s == '+')
{
- sprintf (p, "%%%02X", tryagain_text[i]);
+ sprintf (p, "%%%02X", *s);
p += 3;
}
- else if (tryagain_text[i] == ' ')
+ else if (*s == ' ')
*p++ = '+';
else
- *p++ = tryagain_text[i];
+ *p++ = *s;
}
*p++ = ' ';
*p++ = 'X'; /* Use the standard prompt */
*p++ = ' ';
/* copy description */
- for (i=0; atext[i]; i++)
+ for (i=0, s= atext; *s; s++)
{
- if (atext[i] < ' ' || atext[i] == '+')
+ if (*s < ' ' || *s == '+')
{
- sprintf (p, "%%%02X", atext[i]);
+ sprintf (p, "%%%02X", *s);
p += 3;
}
- else if (atext[i] == ' ')
+ else if (*s == ' ')
*p++ = '+';
else
- *p++ = atext[i];
+ *p++ = *s;
}
*p++ = '\n';
i = writen (fd, line, p - line);