Revision: | 3.9 |
Committed: | Wed Jun 22 16:55:35 2011 UTC (13 years, 10 months ago) by greg |
Content type: | text/plain |
Branch: | MAIN |
CVS Tags: | rad5R2, rad4R2P2, rad5R0, rad5R1, rad4R2, rad4R1, rad4R2P1, rad5R3 |
Changes since 3.8: | +2 -2 lines |
Log Message: | Fixed comment |
# | User | Rev | Content |
---|---|---|---|
1 | greg | 3.1 | #ifndef lint |
2 | greg | 3.9 | static const char RCSid[] = "$Id: fputword.c,v 3.8 2004/04/02 21:41:23 greg Exp $"; |
3 | greg | 3.1 | #endif |
4 | /* | ||
5 | greg | 3.9 | * Write word to stream, quoting as necessary |
6 | greg | 3.1 | * |
7 | greg | 3.4 | * External symbols declared in rtio.h |
8 | greg | 3.1 | */ |
9 | |||
10 | greg | 3.2 | #include "copyright.h" |
11 | greg | 3.1 | |
12 | #include <ctype.h> | ||
13 | |||
14 | schorsch | 3.7 | #include "rtio.h" |
15 | greg | 3.1 | |
16 | void | ||
17 | fputword(s, fp) /* put (quoted) word to file stream */ | ||
18 | char *s; | ||
19 | FILE *fp; | ||
20 | { | ||
21 | greg | 3.3 | int hasspace = 0; |
22 | int quote = 0; | ||
23 | greg | 3.1 | register char *cp; |
24 | /* check if quoting needed */ | ||
25 | for (cp = s; *cp; cp++) | ||
26 | greg | 3.3 | if (isspace(*cp)) |
27 | hasspace++; | ||
28 | else if (*cp == '"') | ||
29 | quote = '\''; | ||
30 | else if (*cp == '\'') | ||
31 | quote = '"'; | ||
32 | |||
33 | if (hasspace || quote) { /* output with quotes */ | ||
34 | if (!quote) quote = '"'; | ||
35 | fputc(quote, fp); | ||
36 | fputs(s, fp); | ||
37 | fputc(quote, fp); | ||
38 | } else /* output sans quotes */ | ||
39 | fputs(s, fp); | ||
40 | greg | 3.1 | } |