[BACK]Return to strfmon.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib / libc / stdlib

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/lib/libc/stdlib/strfmon.c between version 1.2 and 1.3

version 1.2, 2005/11/29 03:12:00 version 1.3, 2005/12/02 14:19:43
Line 69  __RCSID("$NetBSD$");
Line 69  __RCSID("$NetBSD$");
 } while (/* CONSTCOND */ 0)  } while (/* CONSTCOND */ 0)
   
 #define PRINTS(STR) do {                                        \  #define PRINTS(STR) do {                                        \
         char *tmps = STR;                                       \          const char *tmps = STR;                                 \
         while (*tmps != '\0')                                   \          while (*tmps != '\0')                                   \
                 PRINT(*tmps++);                                 \                  PRINT(*tmps++);                                 \
 } while (/* CONSTCOND */ 0)  } while (/* CONSTCOND */ 0)
Line 96  __RCSID("$NetBSD$");
Line 96  __RCSID("$NetBSD$");
         groups++;                                               \          groups++;                                               \
 } while (/* CONSTCOND */ 0)  } while (/* CONSTCOND */ 0)
   
 static void __setup_vars(int, char *, char *, char *, char **);  static void __setup_vars(int, char *, char *, char *, const char **);
 static int __calc_left_pad(int, char *);  static int __calc_left_pad(int, char *);
 static char *__format_grouped_double(double, int *, int, int, int);  static char *__format_grouped_double(double, int *, int, int, int);
   
Line 122  strfmon(char * __restrict s, size_t maxs
Line 122  strfmon(char * __restrict s, size_t maxs
         char            cs_precedes,    /* values gathered from struct lconv */          char            cs_precedes,    /* values gathered from struct lconv */
                         sep_by_space,                          sep_by_space,
                         sign_posn,                          sign_posn,
                         *signstr,  
                         *currency_symbol;                          *currency_symbol;
           const char      *signstr;
   
         char            *tmpptr;        /* temporary vars */          char            *tmpptr;        /* temporary vars */
         int             sverrno;          int             sverrno;
Line 404  end_error:
Line 404  end_error:
   
 static void  static void
 __setup_vars(int flags, char *cs_precedes, char *sep_by_space,  __setup_vars(int flags, char *cs_precedes, char *sep_by_space,
                 char *sign_posn, char **signstr) {                  char *sign_posn, const char **signstr) {
         static char minus[] = "-";  
         struct lconv *lc = localeconv();          struct lconv *lc = localeconv();
   
         if ((flags & IS_NEGATIVE) && (flags & USE_INTL_CURRENCY)) {          if ((flags & IS_NEGATIVE) && (flags & USE_INTL_CURRENCY)) {
                 *cs_precedes = lc->int_n_cs_precedes;                  *cs_precedes = lc->int_n_cs_precedes;
                 *sep_by_space = lc->int_n_sep_by_space;                  *sep_by_space = lc->int_n_sep_by_space;
                 *sign_posn = (flags & PARENTH_POSN) ? 0 : lc->int_n_sign_posn;                  *sign_posn = (flags & PARENTH_POSN) ? 0 : lc->int_n_sign_posn;
                 *signstr = (lc->negative_sign == '\0') ? minus                  *signstr = (lc->negative_sign == '\0') ? "-"
                     : lc->negative_sign;                      : lc->negative_sign;
         } else if (flags & USE_INTL_CURRENCY) {          } else if (flags & USE_INTL_CURRENCY) {
                 *cs_precedes = lc->int_p_cs_precedes;                  *cs_precedes = lc->int_p_cs_precedes;
Line 423  __setup_vars(int flags, char *cs_precede
Line 422  __setup_vars(int flags, char *cs_precede
                 *cs_precedes = lc->n_cs_precedes;                  *cs_precedes = lc->n_cs_precedes;
                 *sep_by_space = lc->n_sep_by_space;                  *sep_by_space = lc->n_sep_by_space;
                 *sign_posn = (flags & PARENTH_POSN) ? 0 : lc->n_sign_posn;                  *sign_posn = (flags & PARENTH_POSN) ? 0 : lc->n_sign_posn;
                 *signstr = (lc->negative_sign == '\0') ? minus                  *signstr = (lc->negative_sign == '\0') ? "-"
                     : lc->negative_sign;                      : lc->negative_sign;
         } else {          } else {
                 *cs_precedes = lc->p_cs_precedes;                  *cs_precedes = lc->p_cs_precedes;
Line 444  __setup_vars(int flags, char *cs_precede
Line 443  __setup_vars(int flags, char *cs_precede
 static int  static int
 __calc_left_pad(int flags, char *cur_symb) {  __calc_left_pad(int flags, char *cur_symb) {
   
         char cs_precedes, sep_by_space, sign_posn, *signstr;          char cs_precedes, sep_by_space, sign_posn;
           const char *signstr;
         int left_chars = 0;          int left_chars = 0;
   
         __setup_vars(flags, &cs_precedes, &sep_by_space, &sign_posn, &signstr);          __setup_vars(flags, &cs_precedes, &sep_by_space, &sign_posn, &signstr);

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

CVSweb <webmaster@jp.NetBSD.org>