| Revision: | 3.9 |
| Committed: | Wed Jun 22 16:55:35 2011 UTC (14 years, 6 months ago) by greg |
| Content type: | text/plain |
| Branch: | MAIN |
| CVS Tags: | rad5R3, rad5R2, rad5R1, rad5R0, rad4R2P2, rad4R2P1, rad4R2, rad4R1 |
| Changes since 3.8: | +2 -2 lines |
| Log Message: | Fixed comment |
| # | Content |
|---|---|
| 1 | #ifndef lint |
| 2 | static const char RCSid[] = "$Id: fputword.c,v 3.8 2004/04/02 21:41:23 greg Exp $"; |
| 3 | #endif |
| 4 | /* |
| 5 | * Write word to stream, quoting as necessary |
| 6 | * |
| 7 | * External symbols declared in rtio.h |
| 8 | */ |
| 9 | |
| 10 | #include "copyright.h" |
| 11 | |
| 12 | #include <ctype.h> |
| 13 | |
| 14 | #include "rtio.h" |
| 15 | |
| 16 | void |
| 17 | fputword(s, fp) /* put (quoted) word to file stream */ |
| 18 | char *s; |
| 19 | FILE *fp; |
| 20 | { |
| 21 | int hasspace = 0; |
| 22 | int quote = 0; |
| 23 | register char *cp; |
| 24 | /* check if quoting needed */ |
| 25 | for (cp = s; *cp; cp++) |
| 26 | 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 | } |