projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mhparam: Added more items for direct query and -debug listing.
[mmh]
/
sbr
/
fmt_scan.c
diff --git
a/sbr/fmt_scan.c
b/sbr/fmt_scan.c
index
f727177
..
ec086a1
100644
(file)
--- a/
sbr/fmt_scan.c
+++ b/
sbr/fmt_scan.c
@@
-4,6
+4,9
@@
** This code is Copyright (c) 2002, by the authors of nmh. See the
** COPYRIGHT file in the root directory of the nmh distribution for
** complete copyright information.
** This code is Copyright (c) 2002, by the authors of nmh. See the
** COPYRIGHT file in the root directory of the nmh distribution for
** complete copyright information.
+**
+** This is the engine that processes the format instructions created by
+** fmt_compile (found in fmt_compile.c).
*/
#include <h/mh.h>
*/
#include <h/mh.h>
@@
-22,10
+25,6
@@
# include <wchar.h>
#endif
# include <wchar.h>
#endif
-#define NFMTS MAXARGS
-
-extern char *formataddr(); /* hook for custom address formatting */
-
extern int fmt_norm; /* defined in sbr/fmt_def.c = AD_NAME */
struct mailname fmt_mnull;
extern int fmt_norm; /* defined in sbr/fmt_def.c = AD_NAME */
struct mailname fmt_mnull;
@@
-474,13
+473,13
@@
fmt_scan(struct format *format, char *scanl, int width, int *dat)
ljust++;
}
ljust++;
}
- if (!ljust && i > 0 && strlen(str) > i)
+ if (!ljust && i > 0 && (int)strlen(str) > i)
str[i] = '\0';
xp = str;
xp += strlen(str) - 1;
while (xp > str && isspace(*xp))
*xp-- = '\0';
str[i] = '\0';
xp = str;
xp += strlen(str) - 1;
while (xp > str && isspace(*xp))
*xp-- = '\0';
- if (ljust && i > 0 && strlen(str) > i)
+ if (ljust && i > 0 && (int)strlen(str) > i)
str += strlen(str) - i;
}
break;
str += strlen(str) - i;
}
break;
@@
-606,10
+605,8
@@
fmt_scan(struct format *format, char *scanl, int width, int *dat)
value = fmt->f_comp->c_tws->tw_flags & TW_DST;
break;
case FT_LS_822DATE:
value = fmt->f_comp->c_tws->tw_flags & TW_DST;
break;
case FT_LS_822DATE:
- str = dasctime(fmt->f_comp->c_tws , TW_ZONE);
- break;
case FT_LS_PRETTY:
case FT_LS_PRETTY:
- str = dasctime(fmt->f_comp->c_tws, TW_NULL);
+ str = dasctime(fmt->f_comp->c_tws);
break;
case FT_LS_PERS:
break;
case FT_LS_PERS:
@@
-776,6
+773,11
@@
fmt_scan(struct format *format, char *scanl, int width, int *dat)
sp = fmt->f_text;
indent = strlen(sp);
wid -= indent;
sp = fmt->f_text;
indent = strlen(sp);
wid -= indent;
+ if (wid <= 0) {
+ adios(NULL, "putaddr -- num register (%d) "
+ "must be greater than label "
+ "width (%d)", value, indent);
+ }
while( (c = *sp++) && cp < ep)
*cp++ = c;
while (len > wid) {
while( (c = *sp++) && cp < ep)
*cp++ = c;
while (len > wid) {