[960] in BarnOwl Developers

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

[D-O-H] r946 - branches/barnowl_sqlite/owl

daemon@ATHENA.MIT.EDU (nelhage@MIT.EDU)
Thu Oct 29 18:11:35 2009

Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
X-Original-To: nelhage@nelhage.com
To: dirty-owl-hackers@mit.edu
From: nelhage@MIT.EDU
Reply-to: dirty-owl-hackers@MIT.EDU
Date: Mon, 18 Feb 2008 16:26:53 -0500 (EST)

Author: nelhage
Date: 2008-02-18 16:26:53 -0500 (Mon, 18 Feb 2008)
New Revision: 946

Modified:
   branches/barnowl_sqlite/owl/functions.c
Log:
Don't complain that you're at the {first,last} message when you scroll
_to_ the {first,last} message.


Modified: branches/barnowl_sqlite/owl/functions.c
===================================================================
--- branches/barnowl_sqlite/owl/functions.c	2008-02-18 21:21:06 UTC (rev 945)
+++ branches/barnowl_sqlite/owl/functions.c	2008-02-18 21:26:53 UTC (rev 946)
@@ -566,13 +566,8 @@
   owl_view_iterator_clone(&it, owl_global_get_curmsg(&g));
   found=0;
 
-  /* just check to make sure we're in bounds... */
-  /* if (curmsg>viewsize-1) curmsg=viewsize-1;
-     if (curmsg<0) curmsg=0; */
-
-  if(owl_view_iterator_has_next(&it))
-    owl_view_iterator_next(&it);
-  for (;owl_view_iterator_has_next(&it);
+  for (owl_view_iterator_next(&it);
+       !owl_view_iterator_is_at_end(&it);
        owl_view_iterator_next(&it)) {
     m = owl_view_iterator_get_message(&it);
     if (skip_deleted && owl_message_is_delete(m)) continue;
@@ -581,8 +576,8 @@
     break;
   }
 
-  /* if (i>owl_view_get_size(v)-1) i=owl_view_get_size(v)-1;
-     if (i<0) i=0; */
+  if(owl_view_iterator_is_at_end(&it))
+    owl_view_iterator_prev(&it);
 
   if (!found) {
     owl_function_makemsg("already at last%s message%s%s",
@@ -620,12 +615,8 @@
   owl_view_iterator_clone(&it, owl_global_get_curmsg(&g));
   found=0;
 
-  /* just check to make sure we're in bounds... */
-  /* if (curmsg<0) curmsg=0; */
-
-  if(owl_view_iterator_has_prev(&it))
-    owl_view_iterator_prev(&it);
-  for (;owl_view_iterator_has_prev(&it);
+  for (owl_view_iterator_prev(&it);
+       !owl_view_iterator_is_at_start(&it);
        owl_view_iterator_prev(&it)) {
     m = owl_view_iterator_get_message(&it);
     if (skip_deleted && owl_message_is_delete(m)) continue;
@@ -634,6 +625,9 @@
     break;
   }
 
+  if(owl_view_iterator_is_at_start(&it))
+    owl_view_iterator_next(&it);
+
   if (!found) {
     owl_function_makemsg("already at first%s message%s%s",
 			 skip_deleted?" non-deleted":"",


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