| Revision: | 3.9 |
| Committed: | Wed Jun 22 16:55:35 2011 UTC (14 years, 4 months ago) by greg |
| Content type: | text/plain |
| Branch: | MAIN |
| CVS Tags: | rad5R2, rad5R3, rad5R0, rad5R1, rad4R2, rad4R1, rad4R2P1, rad4R2P2 |
| 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 | } |