mirror of
https://gitea.psi.ch/ELOG/elog.git
synced 2026-09-10 18:23:28 +00:00
Changed line length
SVN revision: 651
This commit is contained in:
parent
f82600ddc6
commit
37df6696da
80
src/elconv.c
80
src/elconv.c
@ -6,6 +6,9 @@
|
|||||||
Contents: Conversion program for ELOG messages
|
Contents: Conversion program for ELOG messages
|
||||||
|
|
||||||
$Log$
|
$Log$
|
||||||
|
Revision 1.3 2004/01/07 11:14:53 midas
|
||||||
|
Changed line length
|
||||||
|
|
||||||
Revision 1.2 2004/01/06 13:21:34 midas
|
Revision 1.2 2004/01/06 13:21:34 midas
|
||||||
Changed indent style
|
Changed indent style
|
||||||
|
|
||||||
@ -147,8 +150,7 @@ void el_decode(char *message, char *key, char *result)
|
|||||||
*result = 0;
|
*result = 0;
|
||||||
|
|
||||||
if (strstr(message, key)) {
|
if (strstr(message, key)) {
|
||||||
for (pc = strstr(message, key) + strlen(key);
|
for (pc = strstr(message, key) + strlen(key); *pc != '\n' && *pc != '\r';)
|
||||||
*pc != '\n' && *pc != '\r';)
|
|
||||||
*result++ = *pc++;
|
*result++ = *pc++;
|
||||||
*result = 0;
|
*result = 0;
|
||||||
}
|
}
|
||||||
@ -234,8 +236,7 @@ INT ss_file_find(char *path, char *pattern, char **plist)
|
|||||||
for (dp = readdir(dir_pointer); dp != NULL; dp = readdir(dir_pointer)) {
|
for (dp = readdir(dir_pointer); dp != NULL; dp = readdir(dir_pointer)) {
|
||||||
if (fnmatch1(pattern, dp->d_name) == 0) {
|
if (fnmatch1(pattern, dp->d_name) == 0) {
|
||||||
*plist = (char *) realloc(*plist, (i + 1) * MAX_PATH_LENGTH);
|
*plist = (char *) realloc(*plist, (i + 1) * MAX_PATH_LENGTH);
|
||||||
strncpy(*plist + (i * MAX_PATH_LENGTH), dp->d_name,
|
strncpy(*plist + (i * MAX_PATH_LENGTH), dp->d_name, strlen(dp->d_name));
|
||||||
strlen(dp->d_name));
|
|
||||||
*(*plist + (i * MAX_PATH_LENGTH) + strlen(dp->d_name)) = '\0';
|
*(*plist + (i * MAX_PATH_LENGTH) + strlen(dp->d_name)) = '\0';
|
||||||
i++;
|
i++;
|
||||||
seekdir(dir_pointer, telldir(dir_pointer));
|
seekdir(dir_pointer, telldir(dir_pointer));
|
||||||
@ -270,8 +271,7 @@ INT ss_file_find(char *path, char *pattern, char **plist)
|
|||||||
*plist = (char *) realloc(*plist, (i + 1) * MAX_PATH_LENGTH);
|
*plist = (char *) realloc(*plist, (i + 1) * MAX_PATH_LENGTH);
|
||||||
strncpy(*plist + (i * MAX_PATH_LENGTH), lpfdata->cFileName,
|
strncpy(*plist + (i * MAX_PATH_LENGTH), lpfdata->cFileName,
|
||||||
strlen(lpfdata->cFileName));
|
strlen(lpfdata->cFileName));
|
||||||
*(*plist + (i * MAX_PATH_LENGTH) + strlen(lpfdata->cFileName)) =
|
*(*plist + (i * MAX_PATH_LENGTH) + strlen(lpfdata->cFileName)) = '\0';
|
||||||
'\0';
|
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
free(lpfdata);
|
free(lpfdata);
|
||||||
@ -283,8 +283,7 @@ INT ss_file_find(char *path, char *pattern, char **plist)
|
|||||||
|
|
||||||
INT el_search_message(char *tag, int *fh, BOOL walk, BOOL first)
|
INT el_search_message(char *tag, int *fh, BOOL walk, BOOL first)
|
||||||
{
|
{
|
||||||
int lfh, i, n, d, min, max, size, offset, direction, last, status,
|
int lfh, i, n, d, min, max, size, offset, direction, last, status, did_walk;
|
||||||
did_walk;
|
|
||||||
struct tm *tms, ltms;
|
struct tm *tms, ltms;
|
||||||
time_t lt, ltime, lact;
|
time_t lt, ltime, lact;
|
||||||
char str[256], file_name[256], dir[256];
|
char str[256], file_name[256], dir[256];
|
||||||
@ -330,8 +329,8 @@ INT el_search_message(char *tag, int *fh, BOOL walk, BOOL first)
|
|||||||
do {
|
do {
|
||||||
tms = localtime(<ime);
|
tms = localtime(<ime);
|
||||||
|
|
||||||
sprintf(file_name, "%s%02d%02d%02d.log", dir,
|
sprintf(file_name, "%s%02d%02d%02d.log", dir, tms->tm_year % 100,
|
||||||
tms->tm_year % 100, tms->tm_mon + 1, tms->tm_mday);
|
tms->tm_mon + 1, tms->tm_mday);
|
||||||
lfh = open(file_name, O_RDWR | O_BINARY, 0644);
|
lfh = open(file_name, O_RDWR | O_BINARY, 0644);
|
||||||
|
|
||||||
if (lfh < 0) {
|
if (lfh < 0) {
|
||||||
@ -347,8 +346,8 @@ INT el_search_message(char *tag, int *fh, BOOL walk, BOOL first)
|
|||||||
|
|
||||||
/* set new tag */
|
/* set new tag */
|
||||||
tms = localtime(<ime);
|
tms = localtime(<ime);
|
||||||
sprintf(tag, "%02d%02d%02d.0", tms->tm_year % 100,
|
sprintf(tag, "%02d%02d%02d.0", tms->tm_year % 100, tms->tm_mon + 1,
|
||||||
tms->tm_mon + 1, tms->tm_mday);
|
tms->tm_mday);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* in forward direction, stop today */
|
/* in forward direction, stop today */
|
||||||
@ -356,8 +355,7 @@ INT el_search_message(char *tag, int *fh, BOOL walk, BOOL first)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
/* in backward direction, go back 10 years */
|
/* in backward direction, go back 10 years */
|
||||||
if (direction == -1
|
if (direction == -1 && abs((int) (lt - ltime)) > 3600 * 24 * 365 * 10)
|
||||||
&& abs((int) (lt - ltime)) > 3600 * 24 * 365 * 10)
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
} while (lfh < 0);
|
} while (lfh < 0);
|
||||||
@ -450,13 +448,12 @@ INT el_search_message(char *tag, int *fh, BOOL walk, BOOL first)
|
|||||||
do {
|
do {
|
||||||
lt -= 3600 * 24;
|
lt -= 3600 * 24;
|
||||||
tms = localtime(<);
|
tms = localtime(<);
|
||||||
sprintf(str, "%02d%02d%02d.0",
|
sprintf(str, "%02d%02d%02d.0", tms->tm_year % 100, tms->tm_mon + 1,
|
||||||
tms->tm_year % 100, tms->tm_mon + 1, tms->tm_mday);
|
tms->tm_mday);
|
||||||
|
|
||||||
status = el_search_message(str, &lfh, FALSE, FALSE);
|
status = el_search_message(str, &lfh, FALSE, FALSE);
|
||||||
|
|
||||||
} while (status != SUCCESS &&
|
} while (status != SUCCESS && (INT) ltime - (INT) lt < 3600 * 24 * 365);
|
||||||
(INT) ltime - (INT) lt < 3600 * 24 * 365);
|
|
||||||
|
|
||||||
if (status != EL_SUCCESS) {
|
if (status != EL_SUCCESS) {
|
||||||
if (fh)
|
if (fh)
|
||||||
@ -524,13 +521,12 @@ INT el_search_message(char *tag, int *fh, BOOL walk, BOOL first)
|
|||||||
do {
|
do {
|
||||||
lt += 3600 * 24;
|
lt += 3600 * 24;
|
||||||
tms = localtime(<);
|
tms = localtime(<);
|
||||||
sprintf(str, "%02d%02d%02d.0",
|
sprintf(str, "%02d%02d%02d.0", tms->tm_year % 100, tms->tm_mon + 1,
|
||||||
tms->tm_year % 100, tms->tm_mon + 1, tms->tm_mday);
|
tms->tm_mday);
|
||||||
|
|
||||||
status = el_search_message(str, &lfh, FALSE, FALSE);
|
status = el_search_message(str, &lfh, FALSE, FALSE);
|
||||||
|
|
||||||
} while (status != EL_SUCCESS &&
|
} while (status != EL_SUCCESS && (INT) lt - (INT) lact < 3600 * 24);
|
||||||
(INT) lt - (INT) lact < 3600 * 24);
|
|
||||||
|
|
||||||
if (status != EL_SUCCESS) {
|
if (status != EL_SUCCESS) {
|
||||||
if (fh)
|
if (fh)
|
||||||
@ -566,8 +562,8 @@ INT el_submit(char attr_name[MAX_N_ATTR][NAME_LENGTH],
|
|||||||
char attr_value[MAX_N_ATTR][NAME_LENGTH],
|
char attr_value[MAX_N_ATTR][NAME_LENGTH],
|
||||||
int n_attr, char *text, char *reply_to, char *encoding,
|
int n_attr, char *text, char *reply_to, char *encoding,
|
||||||
char afilename[MAX_ATTACHMENTS][256],
|
char afilename[MAX_ATTACHMENTS][256],
|
||||||
char *buffer[MAX_ATTACHMENTS],
|
char *buffer[MAX_ATTACHMENTS], INT buffer_size[MAX_ATTACHMENTS], char *tag,
|
||||||
INT buffer_size[MAX_ATTACHMENTS], char *tag, INT tag_size)
|
INT tag_size)
|
||||||
/********************************************************************\
|
/********************************************************************\
|
||||||
|
|
||||||
Routine: el_submit
|
Routine: el_submit
|
||||||
@ -601,8 +597,8 @@ INT el_submit(char attr_name[MAX_N_ATTR][NAME_LENGTH],
|
|||||||
INT n, i, size, fh, status, index, offset, tail_size;
|
INT n, i, size, fh, status, index, offset, tail_size;
|
||||||
struct tm *tms;
|
struct tm *tms;
|
||||||
char file_name[256], afile_name[MAX_ATTACHMENTS][256], dir[256],
|
char file_name[256], afile_name[MAX_ATTACHMENTS][256], dir[256],
|
||||||
str[256], start_str[80], end_str[80], last[80], date[80],
|
str[256], start_str[80], end_str[80], last[80], date[80], thread[80],
|
||||||
thread[80], attachment_all[64 * MAX_ATTACHMENTS];
|
attachment_all[64 * MAX_ATTACHMENTS];
|
||||||
time_t now;
|
time_t now;
|
||||||
char message[TEXT_SIZE + 100], *p;
|
char message[TEXT_SIZE + 100], *p;
|
||||||
BOOL bedit;
|
BOOL bedit;
|
||||||
@ -638,11 +634,11 @@ INT el_submit(char attr_name[MAX_N_ATTR][NAME_LENGTH],
|
|||||||
|
|
||||||
strcpy(str, p);
|
strcpy(str, p);
|
||||||
sprintf(afile_name[index], "%02d%02d%02d_%02d%02d%02d_%s",
|
sprintf(afile_name[index], "%02d%02d%02d_%02d%02d%02d_%s",
|
||||||
tms->tm_year % 100, tms->tm_mon + 1, tms->tm_mday,
|
tms->tm_year % 100, tms->tm_mon + 1, tms->tm_mday, tms->tm_hour,
|
||||||
tms->tm_hour, tms->tm_min, tms->tm_sec, str);
|
tms->tm_min, tms->tm_sec, str);
|
||||||
sprintf(file_name, "%s%02d%02d%02d_%02d%02d%02d_%s", dir,
|
sprintf(file_name, "%s%02d%02d%02d_%02d%02d%02d_%s", dir,
|
||||||
tms->tm_year % 100, tms->tm_mon + 1, tms->tm_mday,
|
tms->tm_year % 100, tms->tm_mon + 1, tms->tm_mday, tms->tm_hour,
|
||||||
tms->tm_hour, tms->tm_min, tms->tm_sec, str);
|
tms->tm_min, tms->tm_sec, str);
|
||||||
|
|
||||||
/* save attachment */
|
/* save attachment */
|
||||||
fh = open(file_name, O_CREAT | O_RDWR | O_BINARY, 0644);
|
fh = open(file_name, O_CREAT | O_RDWR | O_BINARY, 0644);
|
||||||
@ -701,8 +697,8 @@ INT el_submit(char attr_name[MAX_N_ATTR][NAME_LENGTH],
|
|||||||
time(&now);
|
time(&now);
|
||||||
tms = localtime(&now);
|
tms = localtime(&now);
|
||||||
|
|
||||||
sprintf(file_name, "%s%02d%02d%02d.log", dir,
|
sprintf(file_name, "%s%02d%02d%02d.log", dir, tms->tm_year % 100, tms->tm_mon + 1,
|
||||||
tms->tm_year % 100, tms->tm_mon + 1, tms->tm_mday);
|
tms->tm_mday);
|
||||||
|
|
||||||
fh = open(file_name, O_CREAT | O_RDWR | O_BINARY, 0644);
|
fh = open(file_name, O_CREAT | O_RDWR | O_BINARY, 0644);
|
||||||
if (fh < 0)
|
if (fh < 0)
|
||||||
@ -725,8 +721,7 @@ INT el_submit(char attr_name[MAX_N_ATTR][NAME_LENGTH],
|
|||||||
sprintf(message + strlen(message), "Thread: %s\n", thread);
|
sprintf(message + strlen(message), "Thread: %s\n", thread);
|
||||||
|
|
||||||
for (i = 0; i < n_attr; i++)
|
for (i = 0; i < n_attr; i++)
|
||||||
sprintf(message + strlen(message), "%s: %s\n", attr_name[i],
|
sprintf(message + strlen(message), "%s: %s\n", attr_name[i], attr_value[i]);
|
||||||
attr_value[i]);
|
|
||||||
|
|
||||||
/* keep original attachment if edit and no new attachment */
|
/* keep original attachment if edit and no new attachment */
|
||||||
|
|
||||||
@ -746,8 +741,7 @@ INT el_submit(char attr_name[MAX_N_ATTR][NAME_LENGTH],
|
|||||||
|
|
||||||
if (afile_name[i][0]) {
|
if (afile_name[i][0]) {
|
||||||
if (n == 0) {
|
if (n == 0) {
|
||||||
sprintf(message + strlen(message), "Attachment: %s",
|
sprintf(message + strlen(message), "Attachment: %s", afile_name[i]);
|
||||||
afile_name[i]);
|
|
||||||
n++;
|
n++;
|
||||||
} else
|
} else
|
||||||
sprintf(message + strlen(message), ",%s", afile_name[i]);
|
sprintf(message + strlen(message), ",%s", afile_name[i]);
|
||||||
@ -771,8 +765,7 @@ INT el_submit(char attr_name[MAX_N_ATTR][NAME_LENGTH],
|
|||||||
sprintf(message + strlen(message), "\n");
|
sprintf(message + strlen(message), "\n");
|
||||||
|
|
||||||
sprintf(message + strlen(message), "Encoding: %s\n", encoding);
|
sprintf(message + strlen(message), "Encoding: %s\n", encoding);
|
||||||
sprintf(message + strlen(message),
|
sprintf(message + strlen(message), "========================================\n");
|
||||||
"========================================\n");
|
|
||||||
strcat(message, text);
|
strcat(message, text);
|
||||||
|
|
||||||
size = 0;
|
size = 0;
|
||||||
@ -782,8 +775,8 @@ INT el_submit(char attr_name[MAX_N_ATTR][NAME_LENGTH],
|
|||||||
size = strlen(message) + strlen(start_str) + strlen(end_str);
|
size = strlen(message) + strlen(start_str) + strlen(end_str);
|
||||||
|
|
||||||
if (tag != NULL && !bedit)
|
if (tag != NULL && !bedit)
|
||||||
sprintf(tag, "%02d%02d%02d.%d", tms->tm_year % 100, tms->tm_mon + 1,
|
sprintf(tag, "%02d%02d%02d.%d", tms->tm_year % 100, tms->tm_mon + 1, tms->tm_mday,
|
||||||
tms->tm_mday, (int) (TELL(fh)));
|
(int) (TELL(fh)));
|
||||||
|
|
||||||
sprintf(start_str, "$Start$: %6d\n", size);
|
sprintf(start_str, "$Start$: %6d\n", size);
|
||||||
sprintf(end_str, "$End$: %6d\n\f", size);
|
sprintf(end_str, "$End$: %6d\n\f", size);
|
||||||
@ -1026,8 +1019,7 @@ void scan_messages()
|
|||||||
if (atoi(thread_list[message_id - 1].reply) > 0) {
|
if (atoi(thread_list[message_id - 1].reply) > 0) {
|
||||||
/* search id for reply */
|
/* search id for reply */
|
||||||
for (i = 0; i < n_messages; i++)
|
for (i = 0; i < n_messages; i++)
|
||||||
if (strstr
|
if (strstr(thread_list[i].v1_tag, thread_list[message_id - 1].reply))
|
||||||
(thread_list[i].v1_tag, thread_list[message_id - 1].reply))
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (i < n_messages) {
|
if (i < n_messages) {
|
||||||
@ -1039,9 +1031,7 @@ void scan_messages()
|
|||||||
if (atoi(thread_list[message_id - 1].in_reply_to) > 0) {
|
if (atoi(thread_list[message_id - 1].in_reply_to) > 0) {
|
||||||
/* search id for reply */
|
/* search id for reply */
|
||||||
for (i = 0; i < n_messages; i++)
|
for (i = 0; i < n_messages; i++)
|
||||||
if (strstr
|
if (strstr(thread_list[i].v1_tag, thread_list[message_id - 1].in_reply_to))
|
||||||
(thread_list[i].v1_tag,
|
|
||||||
thread_list[message_id - 1].in_reply_to))
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (i < n_messages) {
|
if (i < n_messages) {
|
||||||
|
|||||||
97
src/elog.c
97
src/elog.c
@ -6,6 +6,9 @@
|
|||||||
Contents: Electronic logbook utility
|
Contents: Electronic logbook utility
|
||||||
|
|
||||||
$Log$
|
$Log$
|
||||||
|
Revision 1.13 2004/01/07 11:14:53 midas
|
||||||
|
Changed line length
|
||||||
|
|
||||||
Revision 1.12 2004/01/06 13:21:34 midas
|
Revision 1.12 2004/01/06 13:21:34 midas
|
||||||
Changed indent style
|
Changed indent style
|
||||||
|
|
||||||
@ -107,8 +110,7 @@ char text[TEXT_SIZE], old_text[TEXT_SIZE], new_text[TEXT_SIZE];
|
|||||||
|
|
||||||
/*------------------------------------------------------------------*/
|
/*------------------------------------------------------------------*/
|
||||||
|
|
||||||
char *map =
|
char *map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
||||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
||||||
|
|
||||||
void base64_encode(char *s, char *d)
|
void base64_encode(char *s, char *d)
|
||||||
{
|
{
|
||||||
@ -335,11 +337,9 @@ INT retrieve_elog(char *host, int port, char *subdir, char *experiment,
|
|||||||
/* compose request */
|
/* compose request */
|
||||||
strcpy(request, "GET /");
|
strcpy(request, "GET /");
|
||||||
if (subdir[0])
|
if (subdir[0])
|
||||||
sprintf(request + strlen(request), "%s/%d?cmd=download", subdir,
|
sprintf(request + strlen(request), "%s/%d?cmd=download", subdir, message_id);
|
||||||
message_id);
|
|
||||||
if (experiment[0])
|
if (experiment[0])
|
||||||
sprintf(request + strlen(request), "%s/%d?cmd=download", experiment,
|
sprintf(request + strlen(request), "%s/%d?cmd=download", experiment, message_id);
|
||||||
message_id);
|
|
||||||
strcat(request, " HTTP/1.0\r\n");
|
strcat(request, " HTTP/1.0\r\n");
|
||||||
|
|
||||||
sprintf(request + strlen(request), "Host: %s\r\n", host_name);
|
sprintf(request + strlen(request), "Host: %s\r\n", host_name);
|
||||||
@ -472,8 +472,7 @@ INT retrieve_elog(char *host, int port, char *subdir, char *experiment,
|
|||||||
*strchr(str, '\r') = 0;
|
*strchr(str, '\r') = 0;
|
||||||
|
|
||||||
if (strrchr(str, '/'))
|
if (strrchr(str, '/'))
|
||||||
printf("Message successfully transmitted, ID=%s\n",
|
printf("Message successfully transmitted, ID=%s\n", strrchr(str, '/') + 1);
|
||||||
strrchr(str, '/') + 1);
|
|
||||||
else
|
else
|
||||||
printf("Message successfully transmitted, ID=%s\n", str);
|
printf("Message successfully transmitted, ID=%s\n", str);
|
||||||
}
|
}
|
||||||
@ -501,10 +500,8 @@ INT submit_elog(char *host, int port, char *subdir, char *experiment,
|
|||||||
char attrib_name[MAX_N_ATTR][NAME_LENGTH],
|
char attrib_name[MAX_N_ATTR][NAME_LENGTH],
|
||||||
char attrib[MAX_N_ATTR][NAME_LENGTH],
|
char attrib[MAX_N_ATTR][NAME_LENGTH],
|
||||||
int n_attr,
|
int n_attr,
|
||||||
char *text,
|
char *text, char afilename[MAX_ATTACHMENTS][256],
|
||||||
char afilename[MAX_ATTACHMENTS][256],
|
char *buffer[MAX_ATTACHMENTS], INT buffer_size[MAX_ATTACHMENTS])
|
||||||
char *buffer[MAX_ATTACHMENTS],
|
|
||||||
INT buffer_size[MAX_ATTACHMENTS])
|
|
||||||
/********************************************************************\
|
/********************************************************************\
|
||||||
|
|
||||||
Routine: submit_elog
|
Routine: submit_elog
|
||||||
@ -538,8 +535,7 @@ INT submit_elog(char *host, int port, char *subdir, char *experiment,
|
|||||||
struct hostent *phe;
|
struct hostent *phe;
|
||||||
struct sockaddr_in bind_addr;
|
struct sockaddr_in bind_addr;
|
||||||
char host_name[256], boundary[80], str[80], *encoding, *p;
|
char host_name[256], boundary[80], str[80], *encoding, *p;
|
||||||
char old_attrib_name[MAX_N_ATTR][NAME_LENGTH],
|
char old_attrib_name[MAX_N_ATTR][NAME_LENGTH], old_attrib[MAX_N_ATTR][NAME_LENGTH];
|
||||||
old_attrib[MAX_N_ATTR][NAME_LENGTH];
|
|
||||||
|
|
||||||
#if defined( _MSC_VER )
|
#if defined( _MSC_VER )
|
||||||
{
|
{
|
||||||
@ -553,8 +549,8 @@ INT submit_elog(char *host, int port, char *subdir, char *experiment,
|
|||||||
|
|
||||||
if (edit) {
|
if (edit) {
|
||||||
status =
|
status =
|
||||||
retrieve_elog(host, port, subdir, experiment, passwd, uname,
|
retrieve_elog(host, port, subdir, experiment, passwd, uname, upwd, edit,
|
||||||
upwd, edit, old_attrib_name, old_attrib, old_text);
|
old_attrib_name, old_attrib, old_text);
|
||||||
|
|
||||||
if (status != 1)
|
if (status != 1)
|
||||||
return status;
|
return status;
|
||||||
@ -583,9 +579,8 @@ INT submit_elog(char *host, int port, char *subdir, char *experiment,
|
|||||||
|
|
||||||
if (reply) {
|
if (reply) {
|
||||||
status =
|
status =
|
||||||
retrieve_elog(host, port, subdir, experiment, passwd, uname,
|
retrieve_elog(host, port, subdir, experiment, passwd, uname, upwd, reply,
|
||||||
upwd, reply, old_attrib_name, old_attrib,
|
old_attrib_name, old_attrib, old_text);
|
||||||
old_text);
|
|
||||||
|
|
||||||
if (status != 1)
|
if (status != 1)
|
||||||
return status;
|
return status;
|
||||||
@ -720,11 +715,9 @@ INT submit_elog(char *host, int port, char *subdir, char *experiment,
|
|||||||
|
|
||||||
/* compose content */
|
/* compose content */
|
||||||
srand((unsigned) time(NULL));
|
srand((unsigned) time(NULL));
|
||||||
sprintf(boundary, "---------------------------%04X%04X%04X", rand(),
|
sprintf(boundary, "---------------------------%04X%04X%04X", rand(), rand(), rand());
|
||||||
rand(), rand());
|
|
||||||
strcpy(content, boundary);
|
strcpy(content, boundary);
|
||||||
strcat(content,
|
strcat(content, "\r\nContent-Disposition: form-data; name=\"cmd\"\r\n\r\nSubmit\r\n");
|
||||||
"\r\nContent-Disposition: form-data; name=\"cmd\"\r\n\r\nSubmit\r\n");
|
|
||||||
|
|
||||||
if (uname[0])
|
if (uname[0])
|
||||||
sprintf(content + strlen(content),
|
sprintf(content + strlen(content),
|
||||||
@ -760,8 +753,8 @@ INT submit_elog(char *host, int port, char *subdir, char *experiment,
|
|||||||
|
|
||||||
for (i = 0; i < n_attr; i++)
|
for (i = 0; i < n_attr; i++)
|
||||||
sprintf(content + strlen(content),
|
sprintf(content + strlen(content),
|
||||||
"%s\r\nContent-Disposition: form-data; name=\"%s\"\r\n\r\n%s\r\n",
|
"%s\r\nContent-Disposition: form-data; name=\"%s\"\r\n\r\n%s\r\n", boundary,
|
||||||
boundary, attrib_name[i], attrib[i]);
|
attrib_name[i], 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",
|
||||||
@ -799,8 +792,7 @@ INT submit_elog(char *host, int port, char *subdir, char *experiment,
|
|||||||
"Content-Type: multipart/form-data; boundary=%s\r\n", boundary);
|
"Content-Type: multipart/form-data; boundary=%s\r\n", boundary);
|
||||||
sprintf(request + strlen(request), "Host: %s\r\n", host_name);
|
sprintf(request + strlen(request), "Host: %s\r\n", host_name);
|
||||||
sprintf(request + strlen(request), "User-Agent: ELOG\r\n");
|
sprintf(request + strlen(request), "User-Agent: ELOG\r\n");
|
||||||
sprintf(request + strlen(request), "Content-Length: %d\r\n",
|
sprintf(request + strlen(request), "Content-Length: %d\r\n", content_length);
|
||||||
content_length);
|
|
||||||
|
|
||||||
if (passwd[0]) {
|
if (passwd[0]) {
|
||||||
base64_encode(passwd, str);
|
base64_encode(passwd, str);
|
||||||
@ -872,8 +864,7 @@ INT submit_elog(char *host, int port, char *subdir, char *experiment,
|
|||||||
*strchr(str, '\r') = 0;
|
*strchr(str, '\r') = 0;
|
||||||
|
|
||||||
if (strrchr(str, '/'))
|
if (strrchr(str, '/'))
|
||||||
printf("Message successfully transmitted, ID=%s\n",
|
printf("Message successfully transmitted, ID=%s\n", strrchr(str, '/') + 1);
|
||||||
strrchr(str, '/') + 1);
|
|
||||||
else
|
else
|
||||||
printf("Message successfully transmitted, ID=%s\n", str);
|
printf("Message successfully transmitted, ID=%s\n", str);
|
||||||
}
|
}
|
||||||
@ -901,17 +892,15 @@ INT submit_elog(char *host, int port, char *subdir, char *experiment,
|
|||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
char str[1000], uname[80], upwd[80];
|
char str[1000], uname[80], upwd[80];
|
||||||
char host_name[256], logbook[32], textfile[256], password[80],
|
char host_name[256], logbook[32], textfile[256], password[80], subdir[256];
|
||||||
subdir[256];
|
|
||||||
char *buffer[MAX_ATTACHMENTS], attachment[MAX_ATTACHMENTS][256];
|
char *buffer[MAX_ATTACHMENTS], attachment[MAX_ATTACHMENTS][256];
|
||||||
INT att_size[MAX_ATTACHMENTS];
|
INT att_size[MAX_ATTACHMENTS];
|
||||||
INT i, n, fh, n_att, n_attr, size, port, reply, edit, suppress;
|
INT i, n, fh, n_att, n_attr, size, port, reply, edit, suppress;
|
||||||
char attr_name[MAX_N_ATTR][NAME_LENGTH],
|
char attr_name[MAX_N_ATTR][NAME_LENGTH], attrib[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 =
|
host_name[0] = logbook[0] = password[0] = subdir[0] = n_att = n_attr = reply = edit =
|
||||||
reply = edit = 0;
|
0;
|
||||||
port = 80;
|
port = 80;
|
||||||
|
|
||||||
for (i = 0; i < MAX_ATTACHMENTS; i++) {
|
for (i = 0; i < MAX_ATTACHMENTS; i++) {
|
||||||
@ -971,33 +960,25 @@ int main(int argc, char *argv[])
|
|||||||
(" Location where elogd is running\n");
|
(" Location where elogd is running\n");
|
||||||
printf
|
printf
|
||||||
(" -l logbook/experiment Name of logbook or experiment\n");
|
(" -l logbook/experiment Name of logbook or experiment\n");
|
||||||
printf
|
printf(" [-v] for verbose output\n");
|
||||||
(" [-v] for verbose output\n");
|
|
||||||
printf
|
printf
|
||||||
(" [-w password] write password defined on server\n");
|
(" [-w password] write password defined on server\n");
|
||||||
printf
|
printf(" [-u username password] user name and password\n");
|
||||||
(" [-u username password] user name and password\n");
|
printf(" [-f <attachment>] (up to %d times)\n",
|
||||||
printf
|
MAX_ATTACHMENTS);
|
||||||
(" [-f <attachment>] (up to %d times)\n",
|
printf(" -a <attribute>=<value> (up to %d times)\n",
|
||||||
MAX_ATTACHMENTS);
|
MAX_N_ATTR);
|
||||||
printf
|
printf(" [-r <id>] Reply to existing message\n");
|
||||||
(" -a <attribute>=<value> (up to %d times)\n",
|
printf(" [-e <id>] Edit existing message\n");
|
||||||
MAX_N_ATTR);
|
|
||||||
printf
|
|
||||||
(" [-r <id>] Reply to existing message\n");
|
|
||||||
printf
|
|
||||||
(" [-e <id>] Edit existing message\n");
|
|
||||||
printf
|
printf
|
||||||
(" [-s] Suppress email notification\n");
|
(" [-s] Suppress email notification\n");
|
||||||
printf(" -m <textfile>] | <text>\n");
|
printf(" -m <textfile>] | <text>\n");
|
||||||
printf
|
printf("\nArguments with blanks must be enclosed in quotes\n");
|
||||||
("\nArguments with blanks must be enclosed in quotes\n");
|
|
||||||
printf
|
printf
|
||||||
("The elog message can either be submitted on the command line, piped in like\n");
|
("The elog message can either be submitted on the command line, piped in like\n");
|
||||||
printf
|
printf
|
||||||
("\"cat text | elog -h ... -l ... -a ...\" or in a file with the -m flag.\n");
|
("\"cat text | elog -h ... -l ... -a ...\" or in a file with the -m flag.\n");
|
||||||
printf
|
printf("Multiple attributes and attachments can be supplied\n");
|
||||||
("Multiple attributes and attachments can be supplied\n");
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
@ -1033,8 +1014,8 @@ int main(int argc, char *argv[])
|
|||||||
lseek(fh, 0, SEEK_SET);
|
lseek(fh, 0, SEEK_SET);
|
||||||
|
|
||||||
if (size > sizeof(text) - 1) {
|
if (size > sizeof(text) - 1) {
|
||||||
printf("Message file \"%s\" is too long (%d bytes max).\n",
|
printf("Message file \"%s\" is too long (%d bytes max).\n", textfile,
|
||||||
textfile, sizeof(text));
|
sizeof(text));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1083,8 +1064,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
n = read(fh, buffer[i], att_size[i]);
|
n = read(fh, buffer[i], att_size[i]);
|
||||||
if (n < att_size[i]) {
|
if (n < att_size[i]) {
|
||||||
printf("Cannot fully read attachment file \"%s\".\n",
|
printf("Cannot fully read attachment file \"%s\".\n", attachment[i]);
|
||||||
attachment[i]);
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
buffer[i][n] = 0;
|
buffer[i][n] = 0;
|
||||||
@ -1094,8 +1074,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
/* now submit message */
|
/* now submit message */
|
||||||
submit_elog(host_name, port, subdir, logbook, password,
|
submit_elog(host_name, port, subdir, logbook, password,
|
||||||
uname, upwd, reply, edit, suppress,
|
uname, upwd, reply, edit, suppress, attr_name, attrib, n_attr, text,
|
||||||
attr_name, attrib, n_attr, text,
|
|
||||||
attachment, buffer, att_size);
|
attachment, buffer, att_size);
|
||||||
|
|
||||||
for (i = 0; i < MAX_ATTACHMENTS; i++)
|
for (i = 0; i < MAX_ATTACHMENTS; i++)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user