diff --git a/ChangeLog b/ChangeLog
index 102c3966d833182dd8b3e035c0d06decf8e471d4..e143a45f3ea9894868c4a21741c1ed0772b22c82 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,7 @@
 CVS code -
+- nano.c:
+  do_wrap()
+	- Make wrap_loc and word_back ssize_t's, to match fill. (DLR)
 
 GNU nano 1.3.5 - 2004.11.22
 - General:
diff --git a/src/nano.c b/src/nano.c
index c505c87e2e22d57ff322d1fc444859e1a4d33a49..88c9ccb7f2aa8c518514b394d35c3a42e9e07a37 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -1329,9 +1329,9 @@ bool do_wrap(filestruct *inptr)
 	/* Length of the line we wrap. */
     size_t i = 0;
 	/* Generic loop variable. */
-    int wrap_loc = -1;
+    ssize_t wrap_loc = -1;
 	/* Index of inptr->data where we wrap. */
-    int word_back = -1;
+    ssize_t word_back = -1;
 #ifndef NANO_SMALL
     const char *indentation = NULL;
 	/* Indentation to prepend to the new line. */
@@ -1353,12 +1353,12 @@ bool do_wrap(filestruct *inptr)
  * after a whitespace character.  In this step, we set wrap_loc as the
  * location of this replacement.
  *
- * Where should we break the line?  We need the last "legal wrap point"
+ * Where should we break the line?  We need the last legal wrap point
  * such that the last word before it ended at or before fill.  If there
  * is no such point, we settle for the first legal wrap point.
  *
- * A "legal wrap point" is a whitespace character that is not followed
- * by whitespace.
+ * A legal wrap point is a whitespace character that is not followed by
+ * whitespace.
  *
  * If there is no legal wrap point or we found the last character of the
  * line, we should return without wrapping.
@@ -1378,11 +1378,12 @@ bool do_wrap(filestruct *inptr)
 	/* Record where the last word ended. */
 	if (!isblank(*wrap_line))
 	    word_back = i;
-	/* If we have found a "legal wrap point" and the current word
+	/* If we have found a legal wrap point and the current word
 	 * extends too far, then we stop. */
-	if (wrap_loc != -1 && strnlenpt(inptr->data, word_back + 1) > fill)
+	if (wrap_loc != -1 && strnlenpt(inptr->data, word_back + 1) >
+		fill)
 	    break;
-	/* We record the latest "legal wrap point". */
+	/* We record the latest legal wrap point. */
 	if (word_back != i && !isblank(wrap_line[1]))
 	    wrap_loc = i;
     }