-#define TF_COMP 0 /* component expected */
-#define TF_NUM 1 /* number expected */
-#define TF_STR 2 /* string expected */
-#define TF_EXPR 3 /* component or func. expected */
-#define TF_NONE 4 /* no argument */
-#define TF_MYBOX 5 /* special - get current user's mbox */
-#define TF_NOW 6 /* special - get current unix time */
+#define TF_COMP 0 /* component expected */
+#define TF_NUM 1 /* number expected */
+#define TF_STR 2 /* string expected */
+#define TF_EXPR 3 /* component or func. expected */
+#define TF_NONE 4 /* no argument */
+#define TF_MYBOX 5 /* special - get current user's mbox */
+#define TF_NOW 6 /* special - get current unix time */
#define TF_EXPR_SV 7 /* like expr but save current str reg */
#define TF_NOP 8 /* like expr but no result */
#define TF_MYNAME 9 /* special - get current name of user */
#define TF_EXPR_SV 7 /* like expr but save current str reg */
#define TF_NOP 8 /* like expr but no result */
#define TF_MYNAME 9 /* special - get current name of user */
{ "decodecomp", TF_COMP, FT_LS_DECODECOMP, 0, TFL_PUTS },
{ "decode", TF_EXPR, FT_LS_DECODE, 0, TFL_PUTS },
{ "trim", TF_EXPR, FT_LS_TRIM, 0, 0 },
{ "decodecomp", TF_COMP, FT_LS_DECODECOMP, 0, TFL_PUTS },
{ "decode", TF_EXPR, FT_LS_DECODE, 0, TFL_PUTS },
{ "trim", TF_EXPR, FT_LS_TRIM, 0, 0 },
{ "kilo", TF_EXPR, FT_LS_KILO, 0, TFL_PUTS },
{ "kibi", TF_EXPR, FT_LS_KIBI, 0, TFL_PUTS },
{ "compval", TF_COMP, FT_LV_COMP, 0, TFL_PUTN },
{ "kilo", TF_EXPR, FT_LS_KILO, 0, TFL_PUTS },
{ "kibi", TF_EXPR, FT_LS_KIBI, 0, TFL_PUTS },
{ "compval", TF_COMP, FT_LV_COMP, 0, TFL_PUTN },
{ "getmymbox", TF_COMP, FT_STR, FT_GETMYMBOX, 0 },
{ "getmyaddr", TF_COMP, FT_LS_ADDR, FT_GETMYADDR, TFL_PUTS },
{ "getmymbox", TF_COMP, FT_STR, FT_GETMYMBOX, 0 },
{ "getmyaddr", TF_COMP, FT_LS_ADDR, FT_GETMYADDR, TFL_PUTS },
- { "unquote", TF_EXPR, FT_LS_UNQUOTE, 0, TFL_PUTS },
+ { "unquote", TF_EXPR, FT_LS_UNQUOTE, 0, TFL_PUTS },
{ "bold", TF_BOLD, FT_LS_LIT, 0, TFL_PUTS },
{ "underline", TF_UNDERLN,FT_LS_LIT, 0, TFL_PUTS },
{ "bold", TF_BOLD, FT_LS_LIT, 0, TFL_PUTS },
{ "underline", TF_UNDERLN,FT_LS_LIT, 0, TFL_PUTS },
-#define FINDCOMP(comp,name) \
- for (comp = wantcomp[CHASH(name)]; \
- comp && strcmp(comp->c_name,name); \
- comp = comp->c_next) \
- ;
+#define FINDCOMP(comp,name) do { \
+ for (comp = wantcomp[CHASH(name)]; \
+ comp && strcmp(comp->c_name,name); \
+ comp = comp->c_next) \
+ ; \
+ } while (0)
/* Add new component to the hash table */
#define NEWCOMP(cm,name) do { \
/* Add new component to the hash table */
#define NEWCOMP(cm,name) do { \
inform("\"%s\": format compile error - %s",
&usr_fstring[errpos-errctx], str);
inform("\"%s\": format compile error - %s",
&usr_fstring[errpos-errctx], str);
while (cmap->colorname != NULL) {
if (strcasecmp(sp, cmap->colorname) == 0)
while (cmap->colorname != NULL) {
if (strcasecmp(sp, cmap->colorname) == 0)
} else if (c == '%' && *cp == '<') {
cp = do_if (cp+1);
} else {
CERROR ("'(', '{', '%<' or ')' expected");
}
} else if (c == '%' && *cp == '<') {
cp = do_if (cp+1);
} else {
CERROR ("'(', '{', '%<' or ')' expected");
}
- for (cptr = wantcomp[bucket]; cptr; cptr = cptr->c_next)
- if (strcasecmp(component, cptr->c_name ? cptr->c_name : "") == 0)
- cptr->c_text = add(text, cptr->c_text);
+ for (cptr = wantcomp[bucket]; cptr; cptr = cptr->c_next)
+ if (strcasecmp(component, FENDNULL(cptr->c_name)) == 0)
+ cptr->c_text = add(text, cptr->c_text);