diff --git a/archival/gun.c b/archival/gun.c
index ade0379..91dd134 100644
--- a/archival/gun.c
+++ b/archival/gun.c
@@ -45,8 +45,8 @@ struct ind {
     unsigned char *inbuf;
     unsigned long *offs;
     unsigned long *checksum;
- int nbytes;
- int total;
+ unsigned int nbytes;
+ unsigned int total;
     int percent;
     void *dgst;
 };
@@ -56,7 +56,7 @@ struct ind {
    returns end-of-file or error. Return 0 on error. */
 static unsigned in(void *in_desc, unsigned char **buf)
 {
- int ret;
+ unsigned int ret;
     unsigned len;
     unsigned char *next;
     struct ind *me = (struct ind *)in_desc;
