[geany/geany-plugins] 1996aa: pohelper: Fix going to the next untranslated or fuzzy string

Colomban Wendling git-noreply at xxxxx
Wed May 22 18:33:39 UTC 2013


Branch:      refs/heads/master
Author:      Colomban Wendling <ban at herbesfolles.org>
Committer:   Colomban Wendling <ban at herbesfolles.org>
Date:        Wed, 22 May 2013 18:33:39 UTC
Commit:      1996aaa20c60d106900be8e7a99a0ff813ac3bc4
             https://github.com/geany/geany-plugins/commit/1996aaa20c60d106900be8e7a99a0ff813ac3bc4

Log Message:
-----------
pohelper: Fix going to the next untranslated or fuzzy string

Correctly handle the case where there is either no next untranslated
or no next fuzzily translated messages, in which case pos1 or pos2
might be -1, and so MIN() would return -1 even if one of the values
was positive.


Modified Paths:
--------------
    pohelper/src/gph-plugin.c

Modified: pohelper/src/gph-plugin.c
16 files changed, 12 insertions(+), 4 deletions(-)
===================================================================
@@ -76,6 +76,12 @@ enum {
                         (doc)->file_type->id == GEANY_FILETYPES_PO)
 
 
+/* gets the smallest valid position between @a and @b */
+#define MIN_POS(a, b) ((a) < 0 ? (b) : (b) < 0 ? (a) : MIN ((a), (b)))
+/* gets the highest valid position between @a and @b */
+#define MAX_POS(a, b) (MAX ((a), (b)))
+
+
 /*
  * find_style:
  * @sci: a #ScintillaObject
@@ -371,9 +377,10 @@ enum {
   if (doc_is_po (doc)) {
     gint pos1 = find_prev_untranslated (doc);
     gint pos2 = find_prev_fuzzy (doc);
+    gint pos = MAX_POS (pos1, pos2);
     
-    if (pos1 >= 0 || pos2 >= 0) {
-      editor_goto_pos (doc->editor, MAX (pos1, pos2), FALSE);
+    if (pos >= 0) {
+      editor_goto_pos (doc->editor, pos, FALSE);
     }
   }
 }
@@ -384,9 +391,10 @@ enum {
   if (doc_is_po (doc)) {
     gint pos1 = find_next_untranslated (doc);
     gint pos2 = find_next_fuzzy (doc);
+    gint pos = MIN_POS (pos1, pos2);
     
-    if (pos1 >= 0 || pos2 >= 0) {
-      editor_goto_pos (doc->editor, MIN (pos1, pos2), FALSE);
+    if (pos >= 0) {
+      editor_goto_pos (doc->editor, pos, FALSE);
     }
   }
 }



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Plugins-Commits mailing list