[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.9 and 1.10

version 1.9, 2012/03/13 21:13:48 version 1.10, 2012/03/21 14:19:15
Line 63  __RCSID("$NetBSD$");
Line 63  __RCSID("$NetBSD$");
 #define USE_INTL_CURRENCY       0x40    /* use international currency symbol */  #define USE_INTL_CURRENCY       0x40    /* use international currency symbol */
 #define IS_NEGATIVE             0x80    /* is argument value negative ? */  #define IS_NEGATIVE             0x80    /* is argument value negative ? */
   
   #ifndef NBCHAR_MAX
   #define NBCHAR_MAX ((unsigned char)CHAR_MAX)
   #endif
   
 /* internal macros */  /* internal macros */
 #define PRINT(CH) do {                                          \  #define PRINT(CH) do {                                          \
         if (dst >= s + maxsize)                                 \          if (dst >= s + maxsize)                                 \
Line 443  __setup_vars(int flags, char *cs_precede
Line 447  __setup_vars(int flags, char *cs_precede
         /* Set defult values for unspecified information. */          /* Set defult values for unspecified information. */
         if (*cs_precedes != 0)          if (*cs_precedes != 0)
                 *cs_precedes = 1;                  *cs_precedes = 1;
         if (*sep_by_space == CHAR_MAX)          if ((unsigned char)*sep_by_space == NBCHAR_MAX)
                 *sep_by_space = 0;                  *sep_by_space = 0;
         if (*sign_posn == CHAR_MAX)          if ((unsigned char)*sign_posn == NBCHAR_MAX)
                 *sign_posn = 0;                  *sign_posn = 0;
 }  }
   
Line 482  get_groups(int size, char *grouping) {
Line 486  get_groups(int size, char *grouping) {
   
         int     chars = 0;          int     chars = 0;
   
         if (*grouping == CHAR_MAX || *grouping <= 0)    /* no grouping ? */          if ((unsigned char)*grouping == NBCHAR_MAX || *grouping <= 0)   /* no grouping ? */
                 return (0);                  return (0);
   
         while (size > (int)*grouping) {          while (size > (int)*grouping) {
                 chars++;                  chars++;
                 size -= (int)*grouping++;                  size -= (int)*grouping++;
                 /* no more grouping ? */                  /* no more grouping ? */
                 if (*grouping == CHAR_MAX)                  if ((unsigned char)*grouping == NBCHAR_MAX)
                         break;                          break;
                 /* rest grouping with same value ? */                  /* rest grouping with same value ? */
                 if (*grouping == 0) {                  if (*grouping == 0) {
Line 581  __format_grouped_double(double value, in
Line 585  __format_grouped_double(double value, in
         /* XXX: Why not use %' instead? */          /* XXX: Why not use %' instead? */
         if ((*flags & NEED_GROUPING) &&          if ((*flags & NEED_GROUPING) &&
             thousands_sep != '\0' &&    /* XXX: need investigation */              thousands_sep != '\0' &&    /* XXX: need investigation */
             *grouping != CHAR_MAX &&              (unsigned char)*grouping != NBCHAR_MAX &&
             *grouping > 0) {              *grouping > 0) {
                 while (avalue_size > (int)*grouping) {                  while (avalue_size > (int)*grouping) {
                         GRPCPY(*grouping);                          GRPCPY(*grouping);
Line 589  __format_grouped_double(double value, in
Line 593  __format_grouped_double(double value, in
                         grouping++;                          grouping++;
   
                         /* no more grouping ? */                          /* no more grouping ? */
                         if (*grouping == CHAR_MAX)                          if ((unsigned char)*grouping == NBCHAR_MAX)
                                 break;                                  break;
   
                         /* rest grouping with same value ? */                          /* rest grouping with same value ? */

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

CVSweb <webmaster@jp.NetBSD.org>