diff --git a/src/dosubst.c b/src/dosubst.c index 941e777e..dc016ba0 100644 --- a/src/dosubst.c +++ b/src/dosubst.c @@ -363,464 +363,464 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int dse, Eprint("%s", ErrMsg[r]); } } + switch(UPPER(c)) { + case 'A': +#ifdef L_A_OVER + L_A_OVER +#else + if (altmode == '*' || !strcmp(DynamicOn, "")) { + snprintf(s, sizeof(s), "%s, %d %s, %d", get_day_name(dse%7), d, + get_month_name(m), y); + } else { + snprintf(s, sizeof(s), "%s %s, %d %s, %d", DynamicOn, get_day_name(dse%7), d, + get_month_name(m), y); + } +#endif + SHIP_OUT(s); + break; + + case 'B': +#ifdef L_B_OVER + L_B_OVER +#else + snprintf(s, sizeof(s), L_INXDAYS, diff); +#endif + SHIP_OUT(s); + break; + + case 'C': +#ifdef L_C_OVER + L_C_OVER +#else + if (altmode == '*' || !strcmp(DynamicOn, "")) { + snprintf(s, sizeof(s), "%s", get_day_name(dse%7)); + } else { + snprintf(s, sizeof(s), "%s %s", DynamicOn, get_day_name(dse%7)); + } +#endif + SHIP_OUT(s); + break; + + case 'D': +#ifdef L_D_OVER + L_D_OVER +#else + snprintf(s, sizeof(s), "%d", d); +#endif + SHIP_OUT(s); + break; + + case 'E': +#ifdef L_E_OVER + L_E_OVER +#else + if (altmode == '*' || !strcmp(DynamicOn, "")) { + snprintf(s, sizeof(s), "%02d%c%02d%c%04d", d, DateSep, + m+1, DateSep, y); + } else { + snprintf(s, sizeof(s), "%s %02d%c%02d%c%04d", DynamicOn, d, DateSep, + m+1, DateSep, y); + } +#endif + SHIP_OUT(s); + break; + + case 'F': +#ifdef L_F_OVER + L_F_OVER +#else + if (altmode == '*' || !strcmp(DynamicOn, "")) { + snprintf(s, sizeof(s), "%02d%c%02d%c%04d", m+1, DateSep, d, DateSep, y); + } else { + snprintf(s, sizeof(s), "%s %02d%c%02d%c%04d", DynamicOn, m+1, DateSep, d, DateSep, y); + } +#endif + SHIP_OUT(s); + break; + + case 'G': +#ifdef L_G_OVER + L_G_OVER +#else + if (altmode == '*' || !strcmp(DynamicOn, "")) { + snprintf(s, sizeof(s), "%s, %d %s", get_day_name(dse%7), d, get_month_name(m)); + } else { + snprintf(s, sizeof(s), "%s %s, %d %s", DynamicOn, get_day_name(dse%7), d, get_month_name(m)); + } +#endif + SHIP_OUT(s); + break; + + case 'H': +#ifdef L_H_OVER + L_H_OVER +#else + if (altmode == '*' || !strcmp(DynamicOn, "")) { + snprintf(s, sizeof(s), "%02d%c%02d", d, DateSep, m+1); + } else { + snprintf(s, sizeof(s), "%s %02d%c%02d", DynamicOn, d, DateSep, m+1); + } +#endif + SHIP_OUT(s); + break; + + case 'I': +#ifdef L_I_OVER + L_I_OVER +#else + if (altmode == '*' || !strcmp(DynamicOn, "")) { + snprintf(s, sizeof(s), "%02d%c%02d", m+1, DateSep, d); + } else { + snprintf(s, sizeof(s), "%s %02d%c%02d", DynamicOn, m+1, DateSep, d); + } +#endif + SHIP_OUT(s); + break; + + case 'J': +#ifdef L_J_OVER + L_J_OVER +#else + if (altmode == '*' || !strcmp(DynamicOn, "")) { + snprintf(s, sizeof(s), "%s, %s %d%s, %d", get_day_name(dse%7), + get_month_name(m), d, plu, y); + } else { + snprintf(s, sizeof(s), "%s %s, %s %d%s, %d", DynamicOn, get_day_name(dse%7), + get_month_name(m), d, plu, y); + } +#endif + SHIP_OUT(s); + break; + + case 'K': +#ifdef L_K_OVER + L_K_OVER +#else + if (altmode == '*' || !strcmp(DynamicOn, "")) { + snprintf(s, sizeof(s), "%s, %s %d%s", get_day_name(dse%7), + get_month_name(m), d, plu); + } else { + snprintf(s, sizeof(s), "%s %s, %s %d%s", DynamicOn, get_day_name(dse%7), + get_month_name(m), d, plu); + } +#endif + SHIP_OUT(s); + break; + + case 'L': +#ifdef L_L_OVER + L_L_OVER +#else + if (altmode == '*' || !strcmp(DynamicOn, "")) { + snprintf(s, sizeof(s), "%04d%c%02d%c%02d", y, DateSep, m+1, DateSep, d); + } else { + snprintf(s, sizeof(s), "%s %04d%c%02d%c%02d", DynamicOn, y, DateSep, m+1, DateSep, d); + } +#endif + SHIP_OUT(s); + break; + + case 'M': +#ifdef L_M_OVER + L_M_OVER +#else + snprintf(s, sizeof(s), "%s", get_month_name(m)); +#endif + SHIP_OUT(s); + break; + + case 'N': +#ifdef L_N_OVER + L_N_OVER +#else + snprintf(s, sizeof(s), "%d", m+1); +#endif + SHIP_OUT(s); + break; + + case 'O': +#ifdef L_O_OVER + L_O_OVER +#else + if (RealToday == DSEToday) snprintf(s, sizeof(s), " (%s)", DynamicToday); + else *s = 0; +#endif + SHIP_OUT(s); + break; + + case 'P': +#ifdef L_P_OVER + L_P_OVER +#else + snprintf(s, sizeof(s), "%s", (diff == 1 ? "" : L_PLURAL)); +#endif + SHIP_OUT(s); + break; + + case 'Q': +#ifdef L_Q_OVER + L_Q_OVER +#else + snprintf(s, sizeof(s), "%s", (diff == 1 ? "'s" : "s'")); +#endif + SHIP_OUT(s); + break; + + case 'R': +#ifdef L_R_OVER + L_R_OVER +#else + snprintf(s, sizeof(s), "%02d", d); +#endif + SHIP_OUT(s); + break; + + case 'S': +#ifdef L_S_OVER + L_S_OVER +#else + snprintf(s, sizeof(s), "%s", plu); +#endif + SHIP_OUT(s); + break; + + case 'T': +#ifdef L_T_OVER + L_T_OVER +#else + snprintf(s, sizeof(s), "%02d", m+1); +#endif + SHIP_OUT(s); + break; + + case 'U': +#ifdef L_U_OVER + L_U_OVER +#else + if (altmode == '*' || !strcmp(DynamicOn, "")) { + snprintf(s, sizeof(s), "%s, %d%s %s, %d", get_day_name(dse%7), d, + plu, get_month_name(m), y); + } else { + snprintf(s, sizeof(s), "%s %s, %d%s %s, %d", DynamicOn, get_day_name(dse%7), d, + plu, get_month_name(m), y); + } +#endif + SHIP_OUT(s); + break; + + case 'V': +#ifdef L_V_OVER + L_V_OVER +#else + if (altmode == '*' || !strcmp(DynamicOn, "")) { + snprintf(s, sizeof(s), "%s, %d%s %s", get_day_name(dse%7), d, plu, + get_month_name(m)); + } else { + snprintf(s, sizeof(s), "%s %s, %d%s %s", DynamicOn, get_day_name(dse%7), d, plu, + get_month_name(m)); + } +#endif + SHIP_OUT(s); + break; + + case 'W': +#ifdef L_W_OVER + L_W_OVER +#else + snprintf(s, sizeof(s), "%s", get_day_name(dse%7)); +#endif + SHIP_OUT(s); + break; + + case 'X': +#ifdef L_X_OVER + L_X_OVER +#else + snprintf(s, sizeof(s), "%d", diff); +#endif + SHIP_OUT(s); + break; + + case 'Y': +#ifdef L_Y_OVER + L_Y_OVER +#else + snprintf(s, sizeof(s), "%d", y); +#endif + SHIP_OUT(s); + break; + + case 'Z': +#ifdef L_Z_OVER + L_Z_OVER +#else + snprintf(s, sizeof(s), "%d", y % 100); +#endif + SHIP_OUT(s); + break; + + case '1': +#ifdef L_1_OVER + L_1_OVER +#else + if (tdiff == 0) + snprintf(s, sizeof(s), "%s", DynamicNow); + else if (hdiff == 0) + snprintf(s, sizeof(s), "%d %s%s %s", mdiff, DynamicMinute, mplu, when); + else if (mdiff == 0) + snprintf(s, sizeof(s), "%d %s%s %s", hdiff, DynamicHour, hplu, when); + else + snprintf(s, sizeof(s), "%d %s%s %s %d %s%s %s", hdiff, DynamicHour, hplu, + DynamicAnd, mdiff, DynamicMinute, mplu, when); +#endif + SHIP_OUT(s); + break; + + case '2': +#ifdef L_2_OVER + L_2_OVER +#else + if (altmode == '*') { + snprintf(s, sizeof(s), "%d%c%02d%s", hh, TimeSep, min, pm); + } else { + snprintf(s, sizeof(s), "%s %d%c%02d%s", DynamicAt, hh, TimeSep, min, pm); + } +#endif + SHIP_OUT(s); + break; + + case '3': +#ifdef L_3_OVER + L_3_OVER +#else + + if (altmode == '*') { + snprintf(s, sizeof(s), "%02d%c%02d", h, TimeSep, min); + } else { + snprintf(s, sizeof(s), "%s %02d%c%02d", DynamicAt, h, TimeSep, min); + } +#endif + SHIP_OUT(s); + break; + + case '4': +#ifdef L_4_OVER + L_4_OVER +#else + snprintf(s, sizeof(s), "%d", tdiff); +#endif + SHIP_OUT(s); + break; + + case '5': +#ifdef L_5_OVER + L_5_OVER +#else + snprintf(s, sizeof(s), "%d", adiff); +#endif + SHIP_OUT(s); + break; + + case '6': +#ifdef L_6_OVER + L_6_OVER +#else + snprintf(s, sizeof(s), "%s", when); +#endif + SHIP_OUT(s); + break; + + case '7': +#ifdef L_7_OVER + L_7_OVER +#else + snprintf(s, sizeof(s), "%d", hdiff); +#endif + SHIP_OUT(s); + break; + + case '8': +#ifdef L_8_OVER + L_8_OVER +#else + snprintf(s, sizeof(s), "%d", mdiff); +#endif + SHIP_OUT(s); + break; + + case '9': +#ifdef L_9_OVER + L_9_OVER +#else + snprintf(s, sizeof(s), "%s", mplu); +#endif + SHIP_OUT(s); + break; + + case '0': +#ifdef L_0_OVER + L_0_OVER +#else + snprintf(s, sizeof(s), "%s", hplu); +#endif + SHIP_OUT(s); + break; + + case '!': +#ifdef L_BANG_OVER + L_BANG_OVER +#else + snprintf(s, sizeof(s), "%s", (tdiff >= 0 ? DynamicIs : DynamicWas)); +#endif + SHIP_OUT(s); + break; + + case '@': +#ifdef L_AT_OVER + L_AT_OVER +#else + snprintf(s, sizeof(s), "%d%c%02d%s", chh, TimeSep, cmin, cpm); +#endif + SHIP_OUT(s); + break; + + case '#': +#ifdef L_HASH_OVER + L_HASH_OVER +#else + snprintf(s, sizeof(s), "%02d%c%02d", ch, TimeSep, cmin); +#endif + SHIP_OUT(s); + break; + + case '_': + if (PsCal == PSCAL_LEVEL2 || PsCal == PSCAL_LEVEL3 || (mode != CAL_MODE && mode != ADVANCE_MODE && !MsgCommand)) { + snprintf(s, sizeof(s), "%s", NL); + } else { + snprintf(s, sizeof(s), " "); + } + SHIP_OUT(s); + break; + + case QUOTE_MARKER: + /* Swallow any QUOTE_MARKERs which may somehow creep in... */ + break; + + case '"': + if (DontSuppressQuoteMarkers) { + if (DBufPutc(dbuf, '%') != OK) return E_NO_MEM; + if (DBufPutc(dbuf, c) != OK) return E_NO_MEM; + } else { + if (DBufPutc(dbuf, QUOTE_MARKER) != OK) return E_NO_MEM; + has_quote = 1; + } + break; + + default: + if (DBufPutc(dbuf, c) != OK) return E_NO_MEM; + } } - if (!done) switch(UPPER(c)) { - case 'A': -#ifdef L_A_OVER - L_A_OVER -#else - if (altmode == '*' || !strcmp(DynamicOn, "")) { - snprintf(s, sizeof(s), "%s, %d %s, %d", get_day_name(dse%7), d, - get_month_name(m), y); - } else { - snprintf(s, sizeof(s), "%s %s, %d %s, %d", DynamicOn, get_day_name(dse%7), d, - get_month_name(m), y); - } -#endif - SHIP_OUT(s); - break; - - case 'B': -#ifdef L_B_OVER - L_B_OVER -#else - snprintf(s, sizeof(s), L_INXDAYS, diff); -#endif - SHIP_OUT(s); - break; - - case 'C': -#ifdef L_C_OVER - L_C_OVER -#else - if (altmode == '*' || !strcmp(DynamicOn, "")) { - snprintf(s, sizeof(s), "%s", get_day_name(dse%7)); - } else { - snprintf(s, sizeof(s), "%s %s", DynamicOn, get_day_name(dse%7)); - } -#endif - SHIP_OUT(s); - break; - - case 'D': -#ifdef L_D_OVER - L_D_OVER -#else - snprintf(s, sizeof(s), "%d", d); -#endif - SHIP_OUT(s); - break; - - case 'E': -#ifdef L_E_OVER - L_E_OVER -#else - if (altmode == '*' || !strcmp(DynamicOn, "")) { - snprintf(s, sizeof(s), "%02d%c%02d%c%04d", d, DateSep, - m+1, DateSep, y); - } else { - snprintf(s, sizeof(s), "%s %02d%c%02d%c%04d", DynamicOn, d, DateSep, - m+1, DateSep, y); - } -#endif - SHIP_OUT(s); - break; - - case 'F': -#ifdef L_F_OVER - L_F_OVER -#else - if (altmode == '*' || !strcmp(DynamicOn, "")) { - snprintf(s, sizeof(s), "%02d%c%02d%c%04d", m+1, DateSep, d, DateSep, y); - } else { - snprintf(s, sizeof(s), "%s %02d%c%02d%c%04d", DynamicOn, m+1, DateSep, d, DateSep, y); - } -#endif - SHIP_OUT(s); - break; - - case 'G': -#ifdef L_G_OVER - L_G_OVER -#else - if (altmode == '*' || !strcmp(DynamicOn, "")) { - snprintf(s, sizeof(s), "%s, %d %s", get_day_name(dse%7), d, get_month_name(m)); - } else { - snprintf(s, sizeof(s), "%s %s, %d %s", DynamicOn, get_day_name(dse%7), d, get_month_name(m)); - } -#endif - SHIP_OUT(s); - break; - - case 'H': -#ifdef L_H_OVER - L_H_OVER -#else - if (altmode == '*' || !strcmp(DynamicOn, "")) { - snprintf(s, sizeof(s), "%02d%c%02d", d, DateSep, m+1); - } else { - snprintf(s, sizeof(s), "%s %02d%c%02d", DynamicOn, d, DateSep, m+1); - } -#endif - SHIP_OUT(s); - break; - - case 'I': -#ifdef L_I_OVER - L_I_OVER -#else - if (altmode == '*' || !strcmp(DynamicOn, "")) { - snprintf(s, sizeof(s), "%02d%c%02d", m+1, DateSep, d); - } else { - snprintf(s, sizeof(s), "%s %02d%c%02d", DynamicOn, m+1, DateSep, d); - } -#endif - SHIP_OUT(s); - break; - - case 'J': -#ifdef L_J_OVER - L_J_OVER -#else - if (altmode == '*' || !strcmp(DynamicOn, "")) { - snprintf(s, sizeof(s), "%s, %s %d%s, %d", get_day_name(dse%7), - get_month_name(m), d, plu, y); - } else { - snprintf(s, sizeof(s), "%s %s, %s %d%s, %d", DynamicOn, get_day_name(dse%7), - get_month_name(m), d, plu, y); - } -#endif - SHIP_OUT(s); - break; - - case 'K': -#ifdef L_K_OVER - L_K_OVER -#else - if (altmode == '*' || !strcmp(DynamicOn, "")) { - snprintf(s, sizeof(s), "%s, %s %d%s", get_day_name(dse%7), - get_month_name(m), d, plu); - } else { - snprintf(s, sizeof(s), "%s %s, %s %d%s", DynamicOn, get_day_name(dse%7), - get_month_name(m), d, plu); - } -#endif - SHIP_OUT(s); - break; - - case 'L': -#ifdef L_L_OVER - L_L_OVER -#else - if (altmode == '*' || !strcmp(DynamicOn, "")) { - snprintf(s, sizeof(s), "%04d%c%02d%c%02d", y, DateSep, m+1, DateSep, d); - } else { - snprintf(s, sizeof(s), "%s %04d%c%02d%c%02d", DynamicOn, y, DateSep, m+1, DateSep, d); - } -#endif - SHIP_OUT(s); - break; - - case 'M': -#ifdef L_M_OVER - L_M_OVER -#else - snprintf(s, sizeof(s), "%s", get_month_name(m)); -#endif - SHIP_OUT(s); - break; - - case 'N': -#ifdef L_N_OVER - L_N_OVER -#else - snprintf(s, sizeof(s), "%d", m+1); -#endif - SHIP_OUT(s); - break; - - case 'O': -#ifdef L_O_OVER - L_O_OVER -#else - if (RealToday == DSEToday) snprintf(s, sizeof(s), " (%s)", DynamicToday); - else *s = 0; -#endif - SHIP_OUT(s); - break; - - case 'P': -#ifdef L_P_OVER - L_P_OVER -#else - snprintf(s, sizeof(s), "%s", (diff == 1 ? "" : L_PLURAL)); -#endif - SHIP_OUT(s); - break; - - case 'Q': -#ifdef L_Q_OVER - L_Q_OVER -#else - snprintf(s, sizeof(s), "%s", (diff == 1 ? "'s" : "s'")); -#endif - SHIP_OUT(s); - break; - - case 'R': -#ifdef L_R_OVER - L_R_OVER -#else - snprintf(s, sizeof(s), "%02d", d); -#endif - SHIP_OUT(s); - break; - - case 'S': -#ifdef L_S_OVER - L_S_OVER -#else - snprintf(s, sizeof(s), "%s", plu); -#endif - SHIP_OUT(s); - break; - - case 'T': -#ifdef L_T_OVER - L_T_OVER -#else - snprintf(s, sizeof(s), "%02d", m+1); -#endif - SHIP_OUT(s); - break; - - case 'U': -#ifdef L_U_OVER - L_U_OVER -#else - if (altmode == '*' || !strcmp(DynamicOn, "")) { - snprintf(s, sizeof(s), "%s, %d%s %s, %d", get_day_name(dse%7), d, - plu, get_month_name(m), y); - } else { - snprintf(s, sizeof(s), "%s %s, %d%s %s, %d", DynamicOn, get_day_name(dse%7), d, - plu, get_month_name(m), y); - } -#endif - SHIP_OUT(s); - break; - - case 'V': -#ifdef L_V_OVER - L_V_OVER -#else - if (altmode == '*' || !strcmp(DynamicOn, "")) { - snprintf(s, sizeof(s), "%s, %d%s %s", get_day_name(dse%7), d, plu, - get_month_name(m)); - } else { - snprintf(s, sizeof(s), "%s %s, %d%s %s", DynamicOn, get_day_name(dse%7), d, plu, - get_month_name(m)); - } -#endif - SHIP_OUT(s); - break; - - case 'W': -#ifdef L_W_OVER - L_W_OVER -#else - snprintf(s, sizeof(s), "%s", get_day_name(dse%7)); -#endif - SHIP_OUT(s); - break; - - case 'X': -#ifdef L_X_OVER - L_X_OVER -#else - snprintf(s, sizeof(s), "%d", diff); -#endif - SHIP_OUT(s); - break; - - case 'Y': -#ifdef L_Y_OVER - L_Y_OVER -#else - snprintf(s, sizeof(s), "%d", y); -#endif - SHIP_OUT(s); - break; - - case 'Z': -#ifdef L_Z_OVER - L_Z_OVER -#else - snprintf(s, sizeof(s), "%d", y % 100); -#endif - SHIP_OUT(s); - break; - - case '1': -#ifdef L_1_OVER - L_1_OVER -#else - if (tdiff == 0) - snprintf(s, sizeof(s), "%s", DynamicNow); - else if (hdiff == 0) - snprintf(s, sizeof(s), "%d %s%s %s", mdiff, DynamicMinute, mplu, when); - else if (mdiff == 0) - snprintf(s, sizeof(s), "%d %s%s %s", hdiff, DynamicHour, hplu, when); - else - snprintf(s, sizeof(s), "%d %s%s %s %d %s%s %s", hdiff, DynamicHour, hplu, - DynamicAnd, mdiff, DynamicMinute, mplu, when); -#endif - SHIP_OUT(s); - break; - - case '2': -#ifdef L_2_OVER - L_2_OVER -#else - if (altmode == '*') { - snprintf(s, sizeof(s), "%d%c%02d%s", hh, TimeSep, min, pm); - } else { - snprintf(s, sizeof(s), "%s %d%c%02d%s", DynamicAt, hh, TimeSep, min, pm); - } -#endif - SHIP_OUT(s); - break; - - case '3': -#ifdef L_3_OVER - L_3_OVER -#else - - if (altmode == '*') { - snprintf(s, sizeof(s), "%02d%c%02d", h, TimeSep, min); - } else { - snprintf(s, sizeof(s), "%s %02d%c%02d", DynamicAt, h, TimeSep, min); - } -#endif - SHIP_OUT(s); - break; - - case '4': -#ifdef L_4_OVER - L_4_OVER -#else - snprintf(s, sizeof(s), "%d", tdiff); -#endif - SHIP_OUT(s); - break; - - case '5': -#ifdef L_5_OVER - L_5_OVER -#else - snprintf(s, sizeof(s), "%d", adiff); -#endif - SHIP_OUT(s); - break; - - case '6': -#ifdef L_6_OVER - L_6_OVER -#else - snprintf(s, sizeof(s), "%s", when); -#endif - SHIP_OUT(s); - break; - - case '7': -#ifdef L_7_OVER - L_7_OVER -#else - snprintf(s, sizeof(s), "%d", hdiff); -#endif - SHIP_OUT(s); - break; - - case '8': -#ifdef L_8_OVER - L_8_OVER -#else - snprintf(s, sizeof(s), "%d", mdiff); -#endif - SHIP_OUT(s); - break; - - case '9': -#ifdef L_9_OVER - L_9_OVER -#else - snprintf(s, sizeof(s), "%s", mplu); -#endif - SHIP_OUT(s); - break; - - case '0': -#ifdef L_0_OVER - L_0_OVER -#else - snprintf(s, sizeof(s), "%s", hplu); -#endif - SHIP_OUT(s); - break; - - case '!': -#ifdef L_BANG_OVER - L_BANG_OVER -#else - snprintf(s, sizeof(s), "%s", (tdiff >= 0 ? DynamicIs : DynamicWas)); -#endif - SHIP_OUT(s); - break; - - case '@': -#ifdef L_AT_OVER - L_AT_OVER -#else - snprintf(s, sizeof(s), "%d%c%02d%s", chh, TimeSep, cmin, cpm); -#endif - SHIP_OUT(s); - break; - - case '#': -#ifdef L_HASH_OVER - L_HASH_OVER -#else - snprintf(s, sizeof(s), "%02d%c%02d", ch, TimeSep, cmin); -#endif - SHIP_OUT(s); - break; - - case '_': - if (PsCal == PSCAL_LEVEL2 || PsCal == PSCAL_LEVEL3 || (mode != CAL_MODE && mode != ADVANCE_MODE && !MsgCommand)) { - snprintf(s, sizeof(s), "%s", NL); - } else { - snprintf(s, sizeof(s), " "); - } - SHIP_OUT(s); - break; - - case QUOTE_MARKER: - /* Swallow any QUOTE_MARKERs which may somehow creep in... */ - break; - - case '"': - if (DontSuppressQuoteMarkers) { - if (DBufPutc(dbuf, '%') != OK) return E_NO_MEM; - if (DBufPutc(dbuf, c) != OK) return E_NO_MEM; - } else { - if (DBufPutc(dbuf, QUOTE_MARKER) != OK) return E_NO_MEM; - has_quote = 1; - } - break; - - default: - if (DBufPutc(dbuf, c) != OK) return E_NO_MEM; - } if (isupper(c)) { os = DBufValue(dbuf); os += strlen(os) - strlen(s);