ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/fputword.c
Revision: 3.3
Committed: Thu Mar 27 04:16:33 2003 UTC (21 years, 1 month ago) by greg
Content type: text/plain
Branch: MAIN
Changes since 3.2: +16 -13 lines
Log Message:
Portability fixes immediately following 3.5 release

File Contents

# User Rev Content
1 greg 3.1 #ifndef lint
2     static const char RCSid[] = "$Id$";
3     #endif
4     /*
5     * Read white space separated words from stream
6     *
7     * External symbols declared in standard.h
8     */
9    
10 greg 3.2 #include "copyright.h"
11 greg 3.1
12     #include <stdio.h>
13    
14     #include <ctype.h>
15    
16    
17     void
18     fputword(s, fp) /* put (quoted) word to file stream */
19     char *s;
20     FILE *fp;
21     {
22 greg 3.3 int hasspace = 0;
23     int quote = 0;
24 greg 3.1 register char *cp;
25     /* check if quoting needed */
26     for (cp = s; *cp; cp++)
27 greg 3.3 if (isspace(*cp))
28     hasspace++;
29     else if (*cp == '"')
30     quote = '\'';
31     else if (*cp == '\'')
32     quote = '"';
33    
34     if (hasspace || quote) { /* output with quotes */
35     if (!quote) quote = '"';
36     fputc(quote, fp);
37     fputs(s, fp);
38     fputc(quote, fp);
39     } else /* output sans quotes */
40     fputs(s, fp);
41 greg 3.1 }