return;
}
cprintf("%d Ok\n", CIT_OK);
- CC->upload_type = UPL_IMAGE;
}
*/
void cmd_clos(char *cmdbuf)
{
- char buf[256];
-
if (CC->download_fp == NULL) {
cprintf("%d You don't have a download file open.\n", ERROR + RESOURCE_NOT_OPEN);
return;
fclose(CC->download_fp);
CC->download_fp = NULL;
-
- if (CC->dl_is_net == 1) {
- CC->dl_is_net = 0;
- snprintf(buf, sizeof buf, "%s/%s", ctdl_netout_dir, CC->net_node);
- unlink(buf);
- }
-
cprintf("%d Ok\n", CIT_OK);
}
*/
void cmd_ucls(char *cmd)
{
- struct CitContext *CCC = CC;
FILE *fp;
- char upload_notice[512];
- static int seq = 0;
+ char upload_notice[SIZ];
- if (CCC->upload_fp == NULL) {
+ if (CC->upload_fp == NULL) {
cprintf("%d You don't have an upload file open.\n", ERROR + RESOURCE_NOT_OPEN);
return;
}
fclose(CC->upload_fp);
- CCC->upload_fp = NULL;
+ CC->upload_fp = NULL;
if (!strcasecmp(cmd, "1")) {
- cprintf("%d File '%s' saved.\n", CIT_OK, CCC->upl_path);
- fp = fopen(CCC->upl_filedir, "a");
+ cprintf("%d File '%s' saved.\n", CIT_OK, CC->upl_path);
+ fp = fopen(CC->upl_filedir, "a");
if (fp == NULL) {
- fp = fopen(CCC->upl_filedir, "w");
+ fp = fopen(CC->upl_filedir, "w");
}
if (fp != NULL) {
- fprintf(fp, "%s %s %s\n", CCC->upl_file, CCC->upl_mimetype, CCC->upl_comment);
+ fprintf(fp, "%s %s %s\n", CC->upl_file, CC->upl_mimetype, CC->upl_comment);
fclose(fp);
}
- if ((CCC->room.QRflags2 & QR2_NOUPLMSG) == 0) {
+ if ((CC->room.QRflags2 & QR2_NOUPLMSG) == 0) {
/* put together an upload notice */
snprintf(upload_notice, sizeof upload_notice,
"NEW UPLOAD: '%s'\n %s\n%s\n",
- CCC->upl_file,
- CCC->upl_comment,
- CCC->upl_mimetype);
- quickie_message(CCC->curr_user, NULL, NULL, CCC->room.QRname,
- upload_notice, 0, NULL);
+ CC->upl_file,
+ CC->upl_comment,
+ CC->upl_mimetype
+ );
+ quickie_message(CC->curr_user, NULL, NULL, CC->room.QRname, upload_notice, 0, NULL);
}
} else {
- abort_upl(CCC);
- cprintf("%d File '%s' aborted.\n", CIT_OK, CCC->upl_path);
+ abort_upl(CC);
+ cprintf("%d File '%s' aborted.\n", CIT_OK, CC->upl_path);
}
}
}
-/*
- * cmd_ndop() - open a network spool file for downloading
- */
-void cmd_ndop(char *cmdbuf)
-{
- struct CitContext *CCC = CC;
- char pathname[256];
- struct stat statbuf;
-
- if (IsEmptyStr(CCC->net_node)) {
- cprintf("%d Not authenticated as a network node.\n",
- ERROR + NOT_LOGGED_IN);
- return;
- }
-
- if (CCC->download_fp != NULL) {
- cprintf("%d You already have a download file open.\n",
- ERROR + RESOURCE_BUSY);
- return;
- }
-
- snprintf(pathname, sizeof pathname,
- "%s/%s",
- ctdl_netout_dir,
- CCC->net_node);
-
- /* first open the file in append mode in order to create a
- * zero-length file if it doesn't already exist
- */
- CCC->download_fp = fopen(pathname, "a");
- if (CCC->download_fp != NULL)
- fclose(CCC->download_fp);
-
- /* now open it */
- CCC->download_fp = fopen(pathname, "r");
- if (CCC->download_fp == NULL) {
- cprintf("%d cannot open %s: %s\n",
- ERROR + INTERNAL_ERROR, pathname, strerror(errno));
- return;
- }
-
-
- /* set this flag so other routines know that the download file
- * currently open is a network spool file
- */
- CCC->dl_is_net = 1;
-
- stat(pathname, &statbuf);
- CCC->download_fp_total = statbuf.st_size;
- cprintf("%d %ld\n", CIT_OK, (long)statbuf.st_size);
-}
-
-
-/*
- * cmd_nuop() - open a network spool file for uploading
- */
-void cmd_nuop(char *cmdbuf)
-{
- static int seq = 1;
-
- if (IsEmptyStr(CC->net_node)) {
- cprintf("%d Not authenticated as a network node.\n",
- ERROR + NOT_LOGGED_IN);
- return;
- }
-
- if (CC->upload_fp != NULL) {
- cprintf("%d You already have an upload file open.\n",
- ERROR + RESOURCE_BUSY);
- return;
- }
-
- snprintf(CC->upl_path, sizeof CC->upl_path,
- "%s/%s.%04lx.%04x",
- ctdl_nettmp_dir,
- CC->net_node,
- (long)getpid(),
- ++seq
- );
-
- CC->upload_fp = fopen(CC->upl_path, "r");
- if (CC->upload_fp != NULL) {
- fclose(CC->upload_fp);
- CC->upload_fp = NULL;
- cprintf("%d '%s' already exists\n", ERROR + ALREADY_EXISTS, CC->upl_path);
- return;
- }
-
- CC->upload_fp = fopen(CC->upl_path, "w");
- if (CC->upload_fp == NULL) {
- cprintf("%d Cannot open %s: %s\n", ERROR + INTERNAL_ERROR, CC->upl_path, strerror(errno));
- return;
- }
-
- CC->upload_type = UPL_NET;
- cprintf("%d Ok\n", CIT_OK);
-}
-
-
void files_logout_hook(void)
{
CitContext *CCC = MyContext();
CtdlRegisterProtoHook(cmd_ucls, "UCLS", "Close an upload file transfer");
CtdlRegisterProtoHook(cmd_read, "READ", "File transfer read operation");
CtdlRegisterProtoHook(cmd_writ, "WRIT", "File transfer write operation");
- CtdlRegisterProtoHook(cmd_ndop, "NDOP", "Open a network spool file for download");
- CtdlRegisterProtoHook(cmd_nuop, "NUOP", "Open a network spool file for upload");
CtdlRegisterProtoHook(cmd_oimg, "OIMG", "Open an image file for download");
CtdlRegisterProtoHook(cmd_uimg, "UIMG", "Upload an image file");
CtdlRegisterProtoHook(cmd_mesg, "MESG", "fetch system banners");