]> git.wh0rd.org Git - nano.git/commitdiff
Savannah bug 23751: Segfault when viewing help using Japanese locale
authorChris Allegretta <chrisa@asty.org>
Sat, 12 Jul 2008 01:54:49 +0000 (01:54 +0000)
committerChris Allegretta <chrisa@asty.org>
Sat, 12 Jul 2008 01:54:49 +0000 (01:54 +0000)
Fix break_line crashing when using certain locales from Mitsuya Shibata

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4272 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
src/text.c

index fc99dd23b8ccb663e03b4d225d3552f63c35094a..bae4cd4cdc87d90573e065f90846e5ee8a788ed2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2008-07-11 Mitsuya Shibata <mty.shibata@gmail.com>
+       * text.c: Fix crashing in help menu when using certain locales
+
 2008-07-09 Chris Allegretta <chrisa@asty.org>
         * nano.c/nano.h/global.c/text.c: New generalized undo code, currently
          just works for adding and deleting text and splitting and unsplitting lines.
index bdf82a1bedc0196b9df888d5c89bd5328313c68a..0ccfebc37ddaf9cb21dae73da02ba0e4a2ff27d0 100644 (file)
@@ -1127,6 +1127,15 @@ ssize_t break_line(const char *line, ssize_t goal
        /* In fact, the whole line displays shorter than goal. */
        return cur_loc;
 
+#ifndef DISABLE_HELP
+    if (newln && blank_loc <= 0) {
+       /* If blank was not found or was found only first character,
+        * force line break. */
+       cur_loc -= line_len;
+       return cur_loc;
+    }
+#endif
+
     if (blank_loc == -1) {
        /* No blank was found that was short enough. */
        bool found_blank = FALSE;