clean up
This commit is contained in:
parent
97572382a3
commit
57239163e2
@ -1,47 +0,0 @@
|
||||
diff -ruN paps-0.6.6.orig/src/paps.c paps-0.6.6/src/paps.c
|
||||
--- paps-0.6.6.orig/src/paps.c 2006-12-04 20:08:36.000000000 +0900
|
||||
+++ paps-0.6.6/src/paps.c 2006-12-04 20:16:59.000000000 +0900
|
||||
@@ -712,7 +712,7 @@
|
||||
PangoRectangle ink_rect, logical_rect;
|
||||
wchar_t *wtext, *wnewtext;
|
||||
gchar *newtext;
|
||||
- size_t i, len, wwidth = 0, n;
|
||||
+ int i, len, wwidth = 0, n;
|
||||
|
||||
wtext = (wchar_t *)g_utf8_to_ucs4 (para->text, para->length, NULL, NULL, NULL);
|
||||
if (wtext == NULL)
|
||||
@@ -722,11 +722,17 @@
|
||||
}
|
||||
|
||||
len = wcswidth (wtext);
|
||||
+ if (len < 0)
|
||||
+ {
|
||||
+ /* assuming that width of all characters in wtext may be 1 */
|
||||
+ len = wcslen (wtext);
|
||||
+ }
|
||||
/* the amount of characters to be able to put on the line against CPI */
|
||||
n = page_layout->column_width / 72.0 * cpi;
|
||||
if (len > n)
|
||||
{
|
||||
- wnewtext = g_new (wchar_t, wcslen (wtext) + 1);
|
||||
+ len = wcslen (wtext);
|
||||
+ wnewtext = g_new (wchar_t, len + 1);
|
||||
if (wnewtext == NULL)
|
||||
{
|
||||
fprintf (stderr, "Failed to allocate a memory.\n");
|
||||
@@ -735,7 +741,14 @@
|
||||
}
|
||||
for (i = 0; i < len; i++)
|
||||
{
|
||||
- wwidth += wcwidth (wtext[i]);
|
||||
+ int w = wcwidth (wtext[i]);
|
||||
+
|
||||
+ if (w < 0)
|
||||
+ {
|
||||
+ /* assuming that a width of this character may be 1 */
|
||||
+ w = 1;
|
||||
+ }
|
||||
+ wwidth += w;
|
||||
if (wwidth > n)
|
||||
break;
|
||||
wnewtext[i] = wtext[i];
|
Loading…
Reference in New Issue
Block a user