char buf[1024];
long bytes_transmitted = 0;
long blocksize;
+ const StrBuf *Desc;
wcsession *WCC = WC; /* stack this for faster access (WC is a function) */
MimeType = GuessMimeType(ChrPtr(WCC->upload), WCC->upload_length);
- serv_printf("UOPN %s|%s|%s", WCC->upload_filename, MimeType, bstr("description"));
+
+ Desc = sbstr("description");
+
+ serv_printf("UOPN %s|%s|%s",
+ ChrPtr(WCC->upload_filename),
+ MimeType,
+ ChrPtr(Desc));
+
serv_getln(buf, sizeof buf);
if (buf[0] != '2')
{
if ( (length > 0) && (!IsEmptyStr(cbtype)) ) {
WCC->upload = NewStrBufPlain(content, length);
WCC->upload_length = length;
- safestrncpy(WCC->upload_filename, filename,
- sizeof(WC->upload_filename));
+ WCC->upload_filename = NewStrBufPlain(filename, -1);
safestrncpy(WCC->upload_content_type, cbtype,
sizeof(WC->upload_content_type));
(wcsession *sess)
{
DeleteHash(&sess->Hdr->urlstrings);
+ FreeStrBuf(&sess->upload_filename);
}
eCOPY,
eNONE
};
-const char *ReqStrs[eNONE];
+extern const char *ReqStrs[eNONE];
#define NO_AUTH 0
#define AUTH_COOKIE 1
/* Preferences */
StrBuf *cs_inet_email; /* User's preferred Internet addr. */
- char reply_to[512]; /* reply-to address */
HashList *hash_prefs; /* WebCit preferences for this user */
StrBuf *DefaultCharset; /* Charset the user preferes */
int downloaded_prefs; /* Has the client download its prefs yet? */
int selected_language; /* Language selected by user */
int time_format_cache; /* which timeformat does our user like? */
-/* current room related */
-/* StrBuf *wc_roomname; / * Room we are currently in */
-/* unsigned room_flags; / * flags associated with the current room */
-/* unsigned room_flags2; / * flags associated with the current room */
-/* int wc_view; / * view for the current room */
-/* int wc_default_view; / * default view for the current room */
-/* int wc_is_trash; / * nonzero == current room is a Trash folder */
-/* int wc_floor; / * floor number of current room */
-/* int is_mailbox; / * the current room is a private mailbox */
-
folder CurRoom; /* information about our current room */
const folder *ThisRoom; /* if REST found a room, remember it here. */
/* next/previous room thingabob */
HashList *attachments; /* list of attachments for 'enter message' */
int upload_length; /* content length of http-uploaded data */
StrBuf *upload; /* pointer to http-uploaded data */
- char upload_filename[PATH_MAX]; /* filename of http-uploaded data */
+ StrBuf *upload_filename; /* filename of http-uploaded data */
char upload_content_type[256]; /* content type of http-uploaded data */
int new_mail; /* user has new mail waiting */