dd3bdda
--- cpdup-1.11/hcproto.c.explicit_sizes	2008-05-22 19:34:41.000000000 -0400
dd3bdda
+++ cpdup-1.11/hcproto.c	2008-06-11 14:40:46.000000000 -0400
dd3bdda
@@ -336,7 +336,7 @@
dd3bdda
     struct HCHead *head;
dd3bdda
     struct HCLeaf *item;
dd3bdda
     struct dirent *den;
dd3bdda
-    int desc = 0;
dd3bdda
+    size_t desc = 0;
dd3bdda
 
dd3bdda
     if (hc == NULL || hc->host == NULL)
dd3bdda
 	return(opendir(path));
dd3bdda
@@ -355,7 +355,7 @@
dd3bdda
 	}
dd3bdda
     }
dd3bdda
     if (hcc_get_descriptor(hc, desc, HC_DESC_DIR)) {
dd3bdda
-	fprintf(stderr, "hc_opendir: remote reused active descriptor %d\n",
dd3bdda
+	fprintf(stderr, "hc_opendir: remote reused active descriptor %zd\n",
dd3bdda
 		desc);
dd3bdda
 	return(NULL);
dd3bdda
     }
dd3bdda
@@ -406,12 +406,12 @@
dd3bdda
 	return(readdir(dir));
dd3bdda
 
dd3bdda
     trans = hcc_start_command(hc, HC_READDIR);
dd3bdda
-    hcc_leaf_int32(trans, LC_DESCRIPTOR, (int)dir);
dd3bdda
+    hcc_leaf_int32(trans, LC_DESCRIPTOR, (size_t)dir);
dd3bdda
     if ((head = hcc_finish_command(trans)) == NULL)
dd3bdda
 	return(NULL);
dd3bdda
     if (head->error)
dd3bdda
 	return(NULL);	/* XXX errno */
dd3bdda
-    den = hcc_get_descriptor(hc, (int)dir, HC_DESC_DIR);
dd3bdda
+    den = hcc_get_descriptor(hc, (size_t)dir, HC_DESC_DIR);
dd3bdda
     if (den == NULL)
dd3bdda
 	return(NULL);	/* XXX errno */
dd3bdda
     if (den->d_name)
dd3bdda
@@ -476,13 +476,13 @@
dd3bdda
 
dd3bdda
     if (hc == NULL || hc->host == NULL)
dd3bdda
 	return(closedir(dir));
dd3bdda
-    den = hcc_get_descriptor(hc, (int)dir, HC_DESC_DIR);
dd3bdda
+    den = hcc_get_descriptor(hc, (size_t)dir, HC_DESC_DIR);
dd3bdda
     if (den) {
dd3bdda
 	free(den);
dd3bdda
-	hcc_set_descriptor(hc, (int)dir, NULL, HC_DESC_DIR);
dd3bdda
+	hcc_set_descriptor(hc, (size_t)dir, NULL, HC_DESC_DIR);
dd3bdda
 
dd3bdda
 	trans = hcc_start_command(hc, HC_CLOSEDIR);
dd3bdda
-	hcc_leaf_int32(trans, LC_DESCRIPTOR, (int)dir);
dd3bdda
+	hcc_leaf_int32(trans, LC_DESCRIPTOR, (size_t)dir);
dd3bdda
 	if ((head = hcc_finish_command(trans)) == NULL)
dd3bdda
 	    return(-1);
dd3bdda
 	if (head->error)
dd3bdda
--- cpdup-1.11/cpdup.c.explicit_sizes	2008-05-24 13:21:36.000000000 -0400
dd3bdda
+++ cpdup-1.11/cpdup.c	2008-06-11 14:49:59.000000000 -0400
dd3bdda
@@ -304,7 +304,7 @@
dd3bdda
      * make any required connections.
dd3bdda
      */
dd3bdda
     if (src && (ptr = strchr(src, ':')) != NULL) {
dd3bdda
-	asprintf(&SrcHost.host, "%*.*s", ptr - src, ptr - src, src);
dd3bdda
+	asprintf(&SrcHost.host, "%*.*s", (int)(ptr - src), (int)(ptr - src), src);
dd3bdda
 	src = ptr + 1;
dd3bdda
 	if (UseCpFile) {
dd3bdda
 	    fprintf(stderr, "The cpignore options are not currently supported for remote sources\n");
dd3bdda
@@ -318,7 +318,7 @@
dd3bdda
 	    exit(1);
dd3bdda
     }
dd3bdda
     if (dst && (ptr = strchr(dst, ':')) != NULL) {
dd3bdda
-	asprintf(&DstHost.host, "%*.*s", ptr - dst, ptr - dst, dst);
dd3bdda
+	asprintf(&DstHost.host, "%*.*s", (int)(ptr - dst), (int)(ptr - dst), dst);
dd3bdda
 	dst = ptr + 1;
dd3bdda
 	if (UseFSMIDOpt) {
dd3bdda
 	    fprintf(stderr, "The FSMID options are not currently supported for remote targets\n");
dd3bdda
--- cpdup-1.11/fsmid.c.explicit_sizes	2008-05-22 19:05:08.000000000 -0400
dd3bdda
+++ cpdup-1.11/fsmid.c	2008-06-11 15:07:50.000000000 -0400
dd3bdda
@@ -35,8 +35,8 @@
dd3bdda
 
dd3bdda
 	    for (node = FSMIDBase; node; node = node->fid_Next) {
dd3bdda
 		if (node->fid_Accessed && node->fid_Code) {
dd3bdda
-		    fprintf(fo, "%016llx %d %s\n", 
dd3bdda
-			node->fid_Code, 
dd3bdda
+		    fprintf(fo, "%016llx %zd %s\n", 
dd3bdda
+			(long long unsigned)node->fid_Code, 
dd3bdda
 			strlen(node->fid_Name),
dd3bdda
 			node->fid_Name
dd3bdda
 		    );