a44421a79fb36cc2036fe116b97ea3bc9590cd0c braney Fri Dec 2 09:34:39 2011 -0800 removed rcsid (#295) diff --git src/lib/xmlEscape.c src/lib/xmlEscape.c index 6236002..ba077f1 100644 --- src/lib/xmlEscape.c +++ src/lib/xmlEscape.c @@ -1,80 +1,79 @@ /* Handle escaping for XML files. Deal with things like * & and ". */ #include "common.h" #include "hash.h" #include "xmlEscape.h" -static char const rcsid[] = "$Id: xmlEscape.c,v 1.2 2008/09/17 17:56:38 kent Exp $"; struct hash *xmlEscapeSymHash() /* Return hash of predefined xml character symbols to lookup. */ { struct hash *symHash = newHash(6); hashAdd(symHash, "lt", "<"); hashAdd(symHash, "gt", ">"); hashAdd(symHash, "amp", "&"); hashAdd(symHash, "apos", "'"); hashAdd(symHash, "quot", "\""); return symHash; } void xmlEscapeBytesToFile(unsigned char *buffer, int len, FILE *f) /* Write buffer of given length to file, escaping as need be. */ { unsigned char c; int i; for (i=0; i<len; ++i) { c = buffer[i]; if (isalnum(c)) fputc(c, f); else { switch (c) { case '&': fputs("&", f); break; case '\'': fputs("'", f); break; case '"': fputs(""", f); break; case '<': fputs("<", f); break; case '>': fputs(">", f); break; case ' ': case '-': case '\t': case '\n': case ',': case '.': case ';': case ':': case '(': case ')': case '[': case ']': case '#': case '/': fputc(c, f); break; default: fprintf(f, "&#%d;", c); break; } } } } void xmlEscapeStringToFile(char *s, FILE *f) /* Write escaped zero-terminated string to file. */ { int len = strlen(s); xmlEscapeBytesToFile((unsigned char *)s, len, f); }