/[pspp]/pspp/src/flip.c
ViewVC logotype

Diff of /pspp/src/flip.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.21 by jmd, Fri Apr 29 01:02:14 2005 UTC revision 1.22 by blp, Mon May 2 06:21:20 2005 UTC
# Line 181  destroy_flip_pgm (struct flip_pgm *flip) Line 181  destroy_flip_pgm (struct flip_pgm *flip)
181  static int  static int
182  make_new_var (char name[])  make_new_var (char name[])
183  {  {
184      char *cp;
185    
186      /* Trim trailing spaces. */
187      cp = strchr (name, '\0');
188      while (cp > name && isspace ((unsigned char) cp[-1]))
189        *--cp = '\0';
190    
191    /* Fix invalid characters. */    /* Fix invalid characters. */
192    {    for (cp = name; *cp && cp < name + SHORT_NAME_LEN; cp++)
193      char *cp;      if (cp == name)
     
     for (cp = name; *cp && !isspace (*cp); cp++)  
194        {        {
195          *cp = toupper ((unsigned char) *cp);          if (!CHAR_IS_ID1 (*cp) || *cp == '$')
196          if (!isalpha (*cp) && *cp != '@' && *cp != '#'            *cp = 'V';
             && (cp == name || (*cp != '.' && *cp != '$' && *cp != '_'  
                                && !isdigit (*cp))))  
           {  
             if (cp == name)  
               *cp = 'V';        /* _ not valid in first position. */  
             else  
               *cp = '_';  
           }  
197        }        }
198      *cp = 0;      else
199    }        {
200            if (!CHAR_IS_IDN (*cp))
201              *cp = '_';
202          }
203      *cp = '\0';
204      st_uppercase (name);
205        
206    if (dict_create_var (default_dict, name, 0))    if (dict_create_var (default_dict, name, 0))
207      return 1;      return 1;
# Line 323  flip_sink_write (struct case_sink *sink, Line 325  flip_sink_write (struct case_sink *sink,
325              {              {
326                char name[INT_DIGITS + 2];                char name[INT_DIGITS + 2];
327                sprintf (name, "V%d", (int) f);                sprintf (name, "V%d", (int) f);
328                strncpy (v->name, name, SHORT_NAME_LEN);                st_trim_copy (v->name, name, sizeof v->name);
               name[SHORT_NAME_LEN] = 0;  
329              }              }
330          }          }
331        else        else

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.22

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26