Fixed problem with attributes containing spaces

SVN revision: 855
This commit is contained in:
Stefan Ritt 2004-03-25 19:47:48 +00:00
parent 428b5213c2
commit 9e1ea300b3
2 changed files with 43 additions and 21 deletions

View File

@ -6,6 +6,9 @@
Contents: Electronic logbook utility Contents: Electronic logbook utility
$Log$ $Log$
Revision 1.18 2004/03/25 19:47:48 midas
Fixed problem with attributes containing spaces
Revision 1.17 2004/03/14 16:43:29 midas Revision 1.17 2004/03/14 16:43:29 midas
Implemented option 'guest display' Implemented option 'guest display'
@ -240,6 +243,18 @@ size_t strlcat(char *dst, const char *src, size_t size)
return (dlen + (s - src)); /* count does not include NUL */ return (dlen + (s - src)); /* count does not include NUL */
} }
/*-------------------------------------------------------------------*/
void btou(char *str)
/* convert all blanks to underscores in a string */
{
int i;
for (i = 0; i < (int) strlen(str); i++)
if (str[i] == ' ')
str[i] = '_';
}
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
void sgets(char *string, int size) void sgets(char *string, int size)
@ -764,10 +779,13 @@ INT submit_elog(char *host, int port, char *subdir, char *experiment,
"%s\r\nContent-Disposition: form-data; name=\"suppress\"\r\n\r\n1\r\n", "%s\r\nContent-Disposition: form-data; name=\"suppress\"\r\n\r\n1\r\n",
boundary); boundary);
for (i = 0; i < n_attr; i++) for (i = 0; i < n_attr; i++) {
strcpy(str, attrib_name[i]);
btou(str);
sprintf(content + strlen(content), sprintf(content + strlen(content),
"%s\r\nContent-Disposition: form-data; name=\"%s\"\r\n\r\n%s\r\n", boundary, "%s\r\nContent-Disposition: form-data; name=\"%s\"\r\n\r\n%s\r\n", boundary,
attrib_name[i], attrib[i]); str, attrib[i]);
}
sprintf(content + strlen(content), sprintf(content + strlen(content),
"%s\r\nContent-Disposition: form-data; name=\"Text\"\r\n\r\n%s\r\n%s\r\n", "%s\r\nContent-Disposition: form-data; name=\"Text\"\r\n\r\n%s\r\n%s\r\n",
@ -912,8 +930,8 @@ int main(int argc, char *argv[])
char attr_name[MAX_N_ATTR][NAME_LENGTH], attrib[MAX_N_ATTR][NAME_LENGTH]; char attr_name[MAX_N_ATTR][NAME_LENGTH], attrib[MAX_N_ATTR][NAME_LENGTH];
text[0] = textfile[0] = uname[0] = upwd[0] = suppress = 0; text[0] = textfile[0] = uname[0] = upwd[0] = suppress = 0;
host_name[0] = logbook[0] = password[0] = subdir[0] = n_att = n_attr = reply = edit = host_name[0] = logbook[0] = password[0] = subdir[0] = 0;
0; n_att = n_attr = reply = edit = 0;
port = 80; port = 80;
for (i = 0; i < MAX_ATTACHMENTS; i++) { for (i = 0; i < MAX_ATTACHMENTS; i++) {

View File

@ -6,6 +6,9 @@
Contents: Web server program for Electronic Logbook ELOG Contents: Web server program for Electronic Logbook ELOG
$Log$ $Log$
Revision 1.313 2004/03/25 19:47:48 midas
Fixed problem with attributes containing spaces
Revision 1.312 2004/03/24 20:44:21 midas Revision 1.312 2004/03/24 20:44:21 midas
Improved synchronization speed Improved synchronization speed
@ -7547,15 +7550,13 @@ void show_find_form(LOGBOOK * lbs)
rsprintf("<input type=radio id=\"CSV1\" name=\"mode\" value=\"CSV1\" checked>"); rsprintf("<input type=radio id=\"CSV1\" name=\"mode\" value=\"CSV1\" checked>");
else else
rsprintf("<input type=radio id=\"CSV1\" name=\"mode\" value=\"CSV1\">"); rsprintf("<input type=radio id=\"CSV1\" name=\"mode\" value=\"CSV1\">");
rsprintf("<label for=\"CSV1\">%s&nbsp;&nbsp;</label>\n", rsprintf("<label for=\"CSV1\">%s&nbsp;&nbsp;</label>\n", loc("CSV (\",\" separated)"));
loc("CSV (\",\" separated)"));
if (strieq(mode, "CSV2")) if (strieq(mode, "CSV2"))
rsprintf("<input type=radio id=\"CSV2\" name=\"mode\" value=\"CSV2\" checked>"); rsprintf("<input type=radio id=\"CSV2\" name=\"mode\" value=\"CSV2\" checked>");
else else
rsprintf("<input type=radio id=\"CSV2\" name=\"mode\" value=\"CSV2\">"); rsprintf("<input type=radio id=\"CSV2\" name=\"mode\" value=\"CSV2\">");
rsprintf("<label for=\"CSV2\">%s&nbsp;&nbsp;</label>\n", rsprintf("<label for=\"CSV2\">%s&nbsp;&nbsp;</label>\n", loc("CSV (\";\" separated)"));
loc("CSV (\";\" separated)"));
if (strieq(mode, "XML")) if (strieq(mode, "XML"))
rsprintf("<input type=radio id=\"XML\" name=\"mode\" value=\"XML\" checked>"); rsprintf("<input type=radio id=\"XML\" name=\"mode\" value=\"XML\" checked>");
@ -11072,12 +11073,15 @@ void display_line(LOGBOOK * lbs, int message_id, int number, char *mode,
sprintf(str, "Display %s", attr_list[i]); sprintf(str, "Display %s", attr_list[i]);
if (getcfg(lbs->name, str, display)) { if (getcfg(lbs->name, str, display)) {
j = build_subst_list(lbs, (char (*)[NAME_LENGTH]) slist, j = build_subst_list(lbs, (char (*)[NAME_LENGTH]) slist,
(char (*)[NAME_LENGTH]) svalue, attrib, TRUE); (char (*)[NAME_LENGTH]) svalue, attrib,
TRUE);
sprintf(str, "%d", message_id); sprintf(str, "%d", message_id);
add_subst_list((char (*)[NAME_LENGTH]) slist, add_subst_list((char (*)[NAME_LENGTH]) slist,
(char (*)[NAME_LENGTH]) svalue, "message id", str, &j); (char (*)[NAME_LENGTH]) svalue, "message id",
str, &j);
add_subst_time(lbs, (char (*)[NAME_LENGTH]) slist, add_subst_time(lbs, (char (*)[NAME_LENGTH]) slist,
(char (*)[NAME_LENGTH]) svalue, "entry time", date, &j); (char (*)[NAME_LENGTH]) svalue, "entry time",
date, &j);
strsubst(display, (char (*)[NAME_LENGTH]) slist, strsubst(display, (char (*)[NAME_LENGTH]) slist,
(char (*)[NAME_LENGTH]) svalue, j); (char (*)[NAME_LENGTH]) svalue, j);