diff options
author | Florent Le Coz <louiz@louiz.org> | 2011-11-08 02:15:57 +0100 |
---|---|---|
committer | Florent Le Coz <louiz@louiz.org> | 2011-11-08 02:15:57 +0100 |
commit | b3072bd26138913d0d65bd23bd538a87a1b182f7 (patch) | |
tree | d22f0e1704657f9e57fc8b960b7fda876419eae6 /src/pooptmodule.c | |
parent | b8b54735c7fe3bcdc2d3f739250b28e5facd9aef (diff) | |
parent | d83eda6fd4fc74d5bedb1ca860c1015e7e0d3732 (diff) | |
download | poezio-b3072bd26138913d0d65bd23bd538a87a1b182f7.tar.gz poezio-b3072bd26138913d0d65bd23bd538a87a1b182f7.tar.bz2 poezio-b3072bd26138913d0d65bd23bd538a87a1b182f7.tar.xz poezio-b3072bd26138913d0d65bd23bd538a87a1b182f7.zip |
Merge branch 'master' into plugins
Conflicts:
src/tabs.py
src/xhtml.py
Diffstat (limited to 'src/pooptmodule.c')
-rw-r--r-- | src/pooptmodule.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/src/pooptmodule.c b/src/pooptmodule.c index b696fe4e..8a021379 100644 --- a/src/pooptmodule.c +++ b/src/pooptmodule.c @@ -44,6 +44,8 @@ static PyObject *poopt_cut_text(PyObject *self, PyObject *args) int last_space = -1; int start_pos = 0; + int w = width; /* this is a width that increases to make the length of char + of colors attribute be ignored */ PyObject* retlist = PyList_New(0); while (buffer[bpos]) @@ -57,7 +59,7 @@ static PyObject *poopt_cut_text(PyObject *self, PyObject *args) start_pos = spos + 1; last_space = -1; } - else if ((spos - start_pos) >= width) + else if ((spos - start_pos) >= w) { if (last_space == -1) { @@ -72,11 +74,24 @@ static PyObject *poopt_cut_text(PyObject *self, PyObject *args) start_pos = last_space + 1; last_space = -1; } + w = width; } if (buffer[bpos] == 25) /* \x19 */ { - spos++; - bpos += 2; + while (buffer[bpos] && + buffer[bpos] != 'u' && + buffer[bpos] != 'b' && + buffer[bpos] != 'o' && + buffer[bpos] != '}') + { + bpos++; + spos++; + w++; + } + bpos++; + spos++; + w++; + spos--; } else if (buffer[bpos] <= 127) /* ASCII char on one byte */ |