* import.c (import_one): Do collapse_uids() before we do any cleaning
[gnupg.git] / g10 / mdfilter.c
index 2cdbd32..3605db8 100644 (file)
@@ -1,5 +1,5 @@
 /* mdfilter.c - filter data and calculate a message digest
- *     Copyright (C) 1998 Free Software Foundation, Inc.
+ * Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
  *
  * This file is part of GnuPG.
  *
@@ -15,7 +15,8 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ * USA.
  */
 
 #include <config.h>
@@ -42,17 +43,13 @@ md_filter( void *opaque, int control,
 {
     size_t size = *ret_len;
     md_filter_context_t *mfx = opaque;
-    int i, c, rc=0;
+    int i, rc=0;
 
     if( control == IOBUFCTRL_UNDERFLOW ) {
        if( mfx->maxbuf_size && size > mfx->maxbuf_size )
            size = mfx->maxbuf_size;
-       for(i=0; i < size; i++ ) {
-           if( (c = iobuf_get(a)) == -1 )
-               break;
-           buf[i] = c;
-       }
-
+       i = iobuf_read( a, buf, size );
+       if( i == -1 ) i = 0;
        if( i ) {
            md_write(mfx->md, buf, i );
            if( mfx->md2 )