projects
/
apps
/
madmutt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Andreas Krennmair:
[apps/madmutt.git]
/
muttlib.c
diff --git
a/muttlib.c
b/muttlib.c
index
c3ec12b
..
4beb99c
100644
(file)
--- a/
muttlib.c
+++ b/
muttlib.c
@@
-17,6
+17,10
@@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*/
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*/
+#if HAVE_CONFIG_H
+# include "config.h"
+#endif
+
#include "mutt.h"
#include "mutt_curses.h"
#include "mime.h"
#include "mutt.h"
#include "mutt_curses.h"
#include "mime.h"
@@
-935,11
+939,12
@@
void mutt_FormatString (char *dest, /* output buffer */
{
char prefix[SHORT_STRING], buf[LONG_STRING], *cp, *wptr = dest, ch;
char ifstring[SHORT_STRING], elsestring[SHORT_STRING];
{
char prefix[SHORT_STRING], buf[LONG_STRING], *cp, *wptr = dest, ch;
char ifstring[SHORT_STRING], elsestring[SHORT_STRING];
- size_t wlen, count, len;
+ size_t wlen, count, len
, col, wid
;
prefix[0] = '\0';
destlen--; /* save room for the terminal \0 */
wlen = (flags & M_FORMAT_ARROWCURSOR && option (OPTARROWCURSOR)) ? 3 : 0;
prefix[0] = '\0';
destlen--; /* save room for the terminal \0 */
wlen = (flags & M_FORMAT_ARROWCURSOR && option (OPTARROWCURSOR)) ? 3 : 0;
+ col = wlen;
while (*src && wlen < destlen)
{
while (*src && wlen < destlen)
{
@@
-949,6
+954,7
@@
void mutt_FormatString (char *dest, /* output buffer */
{
*wptr++ = '%';
wlen++;
{
*wptr++ = '%';
wlen++;
+ col++;
src++;
continue;
}
src++;
continue;
}
@@
-1023,24
+1029,27
@@
void mutt_FormatString (char *dest, /* output buffer */
if ( DrawFullLine )
count = (COLS < destlen ? COLS : destlen);
else
if ( DrawFullLine )
count = (COLS < destlen ? COLS : destlen);
else
- count = ((COLS-SidebarWidth) < destlen ?
COLS - SidebarWidth
: destlen);
- if (count >
wlen
)
+ count = ((COLS-SidebarWidth) < destlen ?
(COLS - SidebarWidth)
: destlen);
+ if (count >
col
)
{
{
- count -=
wlen; /* how many char
s left on this line */
+ count -=
col; /* how many column
s left on this line */
mutt_FormatString (buf, sizeof (buf), src, callback, data, flags);
mutt_FormatString (buf, sizeof (buf), src, callback, data, flags);
-
len
= mutt_strlen (buf);
- if (count >
len
)
+
wid
= mutt_strlen (buf);
+ if (count >
wid
)
{
{
- count -=
len
; /* how many chars to pad */
+ count -=
wid
; /* how many chars to pad */
memset (wptr, ch, count);
wptr += count;
memset (wptr, ch, count);
wptr += count;
-
wlen
+= count;
+
col
+= count;
}
}
- if (
len
+ wlen > destlen)
+ if (
wid
+ wlen > destlen)
len = destlen - wlen;
len = destlen - wlen;
+ else
+ len = wid;
memcpy (wptr, buf, len);
wptr += len;
wlen += len;
memcpy (wptr, buf, len);
wptr += len;
wlen += len;
+ col += mutt_strwidth (buf);
}
break; /* skip rest of input */
}
}
break; /* skip rest of input */
}
@@
-1092,6
+1101,7
@@
void mutt_FormatString (char *dest, /* output buffer */
memcpy (wptr, buf, len);
wptr += len;
wlen += len;
memcpy (wptr, buf, len);
wptr += len;
wlen += len;
+ col += mutt_strwidth (buf);
}
}
else if (*src == '\\')
}
}
else if (*src == '\\')
@@
-1122,11
+1132,13
@@
void mutt_FormatString (char *dest, /* output buffer */
src++;
wptr++;
wlen++;
src++;
wptr++;
wlen++;
+ col++;
}
else
{
*wptr++ = *src++;
wlen++;
}
else
{
*wptr++ = *src++;
wlen++;
+ col++;
}
}
*wptr = 0;
}
}
*wptr = 0;
@@
-1459,7
+1471,7
@@
time_t mutt_decrease_mtime (const char *f, struct stat *st)
const char *mutt_make_version (void)
{
static char vstring[STRING];
const char *mutt_make_version (void)
{
static char vstring[STRING];
- snprintf (vstring, sizeof (vstring), "Mutt %s (%s)",
+ snprintf (vstring, sizeof (vstring), "Mutt
-ng
%s (%s)",
MUTT_VERSION, ReleaseDate);
return vstring;
}
MUTT_VERSION, ReleaseDate);
return vstring;
}