mirror of
https://gitea.psi.ch/ELOG/elog.git
synced 2026-09-08 17:13:56 +00:00
Implemented XML encoding
SVN revision: 843
This commit is contained in:
parent
0d0acad429
commit
cc7ba02898
42
src/elogd.c
42
src/elogd.c
@ -6,6 +6,9 @@
|
|||||||
Contents: Web server program for Electronic Logbook ELOG
|
Contents: Web server program for Electronic Logbook ELOG
|
||||||
|
|
||||||
$Log$
|
$Log$
|
||||||
|
Revision 1.306 2004/03/21 19:25:18 midas
|
||||||
|
Implemented XML encoding
|
||||||
|
|
||||||
Revision 1.305 2004/03/21 18:46:31 midas
|
Revision 1.305 2004/03/21 18:46:31 midas
|
||||||
Removed size parameter in csv_import
|
Removed size parameter in csv_import
|
||||||
|
|
||||||
@ -5891,7 +5894,7 @@ void strencode(char *text)
|
|||||||
rsprintf(" ");
|
rsprintf(" ");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* the translation for the search highliting */
|
/* the translation for the search highliting */
|
||||||
case '\001':
|
case '\001':
|
||||||
rsprintf("<");
|
rsprintf("<");
|
||||||
break;
|
break;
|
||||||
@ -5913,6 +5916,33 @@ void strencode(char *text)
|
|||||||
|
|
||||||
/*------------------------------------------------------------------*/
|
/*------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
void xmlencode(char *text)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < (int) strlen(text); i++) {
|
||||||
|
switch (text[i]) {
|
||||||
|
case '<':
|
||||||
|
rsprintf("<");
|
||||||
|
break;
|
||||||
|
case '>':
|
||||||
|
rsprintf(">");
|
||||||
|
break;
|
||||||
|
case '&':
|
||||||
|
rsprintf("&");
|
||||||
|
break;
|
||||||
|
case '\"':
|
||||||
|
rsprintf(""");
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
rsprintf("%c", text[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*------------------------------------------------------------------*/
|
||||||
|
|
||||||
void strencode2(char *b, char *text)
|
void strencode2(char *b, char *text)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -13068,10 +13098,16 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf
|
|||||||
for (i = 0; i < lbs->n_attr; i++) {
|
for (i = 0; i < lbs->n_attr; i++) {
|
||||||
strcpy(str, attr_list[i]);
|
strcpy(str, attr_list[i]);
|
||||||
for (j=0 ; j<(int)strlen(str) ; j++)
|
for (j=0 ; j<(int)strlen(str) ; j++)
|
||||||
if (!isalpha(str[j]))
|
if (!isalnum(str[j]))
|
||||||
str[j] = '_';
|
str[j] = '_';
|
||||||
rsprintf("\t\t<%s>%s</%s>\n", str, attrib[i], str);
|
|
||||||
|
rsprintf("\t\t<%s>", str);
|
||||||
|
xmlencode(attrib[i]);
|
||||||
|
rsprintf("</%s>\n", str);
|
||||||
}
|
}
|
||||||
|
rsputs("\t\t<TEXT>");
|
||||||
|
xmlencode(text);
|
||||||
|
rsputs("</TEXT>\n");
|
||||||
|
|
||||||
rsputs("\t</ENTRY>\n");
|
rsputs("\t</ENTRY>\n");
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user