aboutsummaryrefslogtreecommitdiffstats
path: root/g10/sign.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>1998-12-17 17:36:05 +0000
committerWerner Koch <[email protected]>1998-12-17 17:36:05 +0000
commitb1e5c79926a15ba77dc7ed070ba0080d167056d7 (patch)
treeec27dd5bf25a6bf79fa6c85db197eb9f935ed6f7 /g10/sign.c
parentSee ChangeLog: Mon Dec 14 21:18:49 CET 1998 Werner Koch (diff)
downloadgnupg-b1e5c79926a15ba77dc7ed070ba0080d167056d7.tar.gz
gnupg-b1e5c79926a15ba77dc7ed070ba0080d167056d7.zip
See ChangeLog: Thu Dec 17 18:31:15 CET 1998 Werner Koch
Diffstat (limited to 'g10/sign.c')
-rw-r--r--g10/sign.c27
1 files changed, 25 insertions, 2 deletions
diff --git a/g10/sign.c b/g10/sign.c
index 9b78acf7e..f3373ed4f 100644
--- a/g10/sign.c
+++ b/g10/sign.c
@@ -475,12 +475,35 @@ write_dash_escaped( IOBUF inp, IOBUF out, MD_HANDLE md )
}
while( (c = iobuf_get(inp)) != -1 ) {
- /* Note: We don't escape "From " because the MUA should cope with it */
if( lastlf ) {
if( c == '-' ) {
iobuf_put( out, c );
iobuf_put( out, ' ' );
}
+ else if( c == 'F' && opt.escape_from ) {
+ int i;
+
+ if( state >= 1 )
+ md_putc(md, '\r');
+ if( state >= 2 )
+ md_putc(md, '\n');
+ state = 0;
+
+ for( i=1; i < 5 && (c = iobuf_get(inp)) != -1; i++ ) {
+ if( "From "[i] != c )
+ break;
+ }
+ if( i < 5 ) {
+ iobuf_write( out, "From", i );
+ md_write( md, "From", i );
+ if( c == -1 )
+ break;
+ }
+ else {
+ iobuf_writestr( out, "- From" );
+ md_write( md, "From", 4 );
+ }
+ }
}
again:
@@ -614,7 +637,7 @@ clearsign_file( const char *fname, STRLIST locusr, const char *outfile )
PKT_secret_key *sk = sk_rover->sk;
md_enable(textmd, hash_for(sk->pubkey_algo));
}
- /*md_start_debug( textmd, "create" );*/
+ md_start_debug( textmd, "create" );
if( !opt.not_dash_escaped )
iobuf_push_filter( inp, text_filter, &tfx );
rc = write_dash_escaped( inp, out, textmd );