[231] in BarnOwl Developers

home help back first fref pref prev next nref lref last post

[D-O-H] r406 - trunk/owl

daemon@ATHENA.MIT.EDU (nelhage@MIT.EDU)
Thu Oct 29 18:03:56 2009

Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
Date: Thu, 26 Oct 2006 17:45:11 -0400
To: dirty-owl-hackers@MIT.EDU
From: nelhage@MIT.EDU
Reply-To: dirty-owl-hackers@MIT.EDU

Author: nelhage
Date: 2006-10-26 17:45:10 -0400 (Thu, 26 Oct 2006)
New Revision: 406

Modified:
   trunk/owl/editwin.c
Log:
Fixing a hang I've seen repeatedly in owl


Modified: trunk/owl/editwin.c
===================================================================
--- trunk/owl/editwin.c	2006-10-26 15:14:41 UTC (rev 405)
+++ trunk/owl/editwin.c	2006-10-26 21:45:10 UTC (rev 406)
@@ -710,7 +710,11 @@
   /* then nuke the next word */
   while (1) {
     z=_owl_editwin_get_index_from_xy(e);
-    if (e->buff[z+1]==' ' || e->buff[z+1]=='\n' || e->buff[z+1]=='\0') break;
+    /* z == e->bufflen check added to prevent a hang I (nelhage) have
+       seen repeatedly while using owl. I'm not sure precisely what
+       conditions lead to it. */
+    if (z == e->bufflen
+        || e->buff[z+1]==' ' || e->buff[z+1]=='\n' || e->buff[z+1]=='\0') break;
     owl_editwin_delete_char(e);
   }
   owl_editwin_delete_char(e);


home help back first fref pref prev next nref lref last post