Index: /home/ksu/BRLCAD/trunk/src/libbu/convert.c
===================================================================
--- /home/ksu/BRLCAD/trunk/src/libbu/convert.c	(revision 50444)
+++ /home/ksu/BRLCAD/trunk/src/libbu/convert.c	(working copy)
@@ -380,9 +380,8 @@
     return count;
 }
 
-
-size_t
-bu_cv_htonss(genptr_t out, size_t size, register short int *in, size_t count)
+static 
+inline size_t get_count(genptr_t out, size_t size, register short int *in, size_t count)
 {
     size_t limit;
     register size_t i;
@@ -399,67 +398,50 @@
     return count;
 }
 
-
-size_t
-bu_cv_htonus(genptr_t out, size_t size, register short unsigned int *in, size_t count)
+static 
+inline size_t get_count1 (genptr_t out, size_t size, register long int *in, size_t count)
 {
     size_t limit;
     register size_t i;
     register unsigned char *cp = (unsigned char *)out;
-    register int val;
+    register long val;
 
-    limit = (int)(size / 2);
+    limit = (int)(size / 4);
     if (count > limit)  count = limit;
 
     for (i=0; i<count; i++) {
-	*cp++ = (val = *in++)>>8;
+	*cp++ = (val = *in++)>>24;
+	*cp++ = val>>16;
+	*cp++ = val>> 8;
 	*cp++ = val;
     }
     return count;
 }
+size_t
+bu_cv_htonss(genptr_t out, size_t size, register short int *in, size_t count)
+{
+    return get_count(out, size, in, count);
+}
 
 
 size_t
-bu_cv_htonsl(genptr_t out, size_t size, register long int *in, size_t count)
+bu_cv_htonus(genptr_t out, size_t size, register short unsigned int *in, size_t count)
 {
-    size_t limit;
-    register size_t i;
-    register unsigned char *cp = (unsigned char *)out;
-    register long val;
+    return get_count(out, size, (short int*)in, count);
+}
 
-    limit = (int)(size / 4);
-    if (count > limit)  count = limit;
 
-    for (i=0; i<count; i++) {
-	*cp++ = (val = *in++)>>24;
-	*cp++ = val>>16;
-	*cp++ = val>> 8;
-	*cp++ = val;
-    }
-    return count;
+size_t
+bu_cv_htonsl(genptr_t out, size_t size, register long int *in, size_t count)
+{
+   return get_count1 (out, size, in, count);
 }
 
 
 size_t
 bu_cv_htonul(genptr_t out, size_t size, register long unsigned int *in, size_t count)
 {
-    size_t limit;
-    register size_t i;
-    register unsigned char *cp = (unsigned char *)out;
-    register long val;
-
-    limit = (int)(size / 4);
-    if (count > limit) {
-	count = limit;
-    }
-
-    for (i=0; i<count; i++) {
-	*cp++ = (val = *in++)>>24;
-	*cp++ = val>>16;
-	*cp++ = val>> 8;
-	*cp++ = val;
-    }
-    return count;
+    return get_count1 (out, size, (long int*)in, count);
 }
 
 
