diff --git a/ChangeLog b/ChangeLog
index 0d05ad2cac9238125622b7f7f318379b83db6f40..738e90f4e594a4941de7153095700a12c952b18d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -21,6 +21,8 @@ General
 	- Added restoration of totsize after unjustify command.
   usage()
 	- Add arg to -T help (Rocco).
+  global_init(), handle_sigwinch()
+	- Messy loops replaced with memset calls (Rocco).
 
 nano 0.9.99pre1 - 01/17/2001
 General
diff --git a/nano.c b/nano.c
index 66af04fa3ce5215c2f506b7b1f8ddd18d401f36a..a170b23fda2bf59597e00923052aa989574e97f2 100644
--- a/nano.c
+++ b/nano.c
@@ -167,8 +167,6 @@ void clear_filename(void)
 /* Initialize global variables - no better way for now */
 void global_init(void)
 {
-    int i;
-
     current_x = 0;
     current_y = 0;
 
@@ -190,11 +188,8 @@ void global_init(void)
 	die_too_small();
 
     hblank = nmalloc(COLS + 1);
-
-    /* Thanks BG for this bit... */
-    for (i = 0; i <= COLS - 1; i++)
-	hblank[i] = ' ';
-    hblank[i] = 0;
+    memset(hblank, ' ', COLS);
+    hblank[COLS] = 0;
 }
 
 #ifndef DISABLE_HELP
@@ -1543,7 +1538,6 @@ void handle_sigwinch(int s)
     char *tty = NULL;
     int fd = 0;
     int result = 0;
-    int i = 0;
     struct winsize win;
 
     tty = ttyname(0);
@@ -1566,12 +1560,9 @@ void handle_sigwinch(int s)
     if ((fill = COLS - CHARS_FROM_EOL) < MIN_FILL_LENGTH)
 	die_too_small();
 
-    free(hblank);
-    hblank = nmalloc(COLS + 1);
-
-    for (i = 0; i <= COLS - 1; i++)
-	hblank[i] = ' ';
-    hblank[i] = 0;
+    hblank = nrealloc(hblank, COLS + 1);
+    memset(hblank, ' ', COLS);
+    hblank[COLS] = 0;
 
 #ifdef HAVE_NCURSES_H
     resizeterm(LINES, COLS);