*
*/
-#ifdef DLL_EXPORT
-#define IN_LIBCIT
-#endif
-
#include "sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <limits.h>
#include "citadel.h"
#include "server.h"
-#include "serv_extensions.h"
#include "config.h"
#include "file_ops.h"
#include "sysdep_decls.h"
case NTT_REMOVE:
if (nttlist == NULL) break;
- if (strlen(nttlist) == 0) break;
+ if (IsEmptyStr(nttlist)) break;
ptr = malloc(strlen(nttlist));
if (ptr == NULL) break;
strcpy(ptr, "");
for (i = 0; i < num_tokens(nttlist, '|'); ++i) {
extract_token(buf, nttlist, i, '|', sizeof buf);
- if ( (strlen(buf) > 0)
+ if ( (!IsEmptyStr(buf))
&& (strcasecmp(buf, nodename)) ) {
strcat(ptr, buf);
strcat(ptr, "|");
case NTT_CHECK:
if (nttlist == NULL) break;
- if (strlen(nttlist) == 0) break;
+ if (IsEmptyStr(nttlist)) break;
for (i = 0; i < num_tokens(nttlist, '|'); ++i) {
extract_token(buf, nttlist, i, '|', sizeof buf);
if (!strcasecmp(buf, nodename)) ++retval;
return;
}
- if (strlen(filename) == 0) {
+ if (IsEmptyStr(filename)) {
cprintf("%d You must specify a file name.\n",
ERROR + FILE_NOT_FOUND);
return;
}
- for (a = 0; a < strlen(filename); ++a) {
+ for (a = 0; !IsEmptyStr(&filename[a]); ++a) {
if (filename[a] == '/') {
filename[a] = '_';
}
}
- snprintf(pathname, sizeof pathname,
-#ifndef HAVE_DATA_DIR
- "." /* FIXME: should here be CTDLDIR ? */
-#else
- DATA_DIR
-#endif
- "/files/%s/%s",
+ snprintf(pathname, sizeof pathname,
+ "%s/%s/%s",
+ ctdl_file_dir,
CC->room.QRdirname, filename);
a = unlink(pathname);
if (a == 0) {
return;
}
- if (strlen(filename) == 0) {
+ if (IsEmptyStr(filename)) {
cprintf("%d You must specify a file name.\n",
ERROR + FILE_NOT_FOUND);
return;
}
- for (a = 0; a < strlen(filename); ++a) {
+ for (a = 0; !IsEmptyStr(&filename[a]); ++a) {
if (filename[a] == '/') {
filename[a] = '_';
}
return;
}
- if (strlen(filename) == 0) {
+ if (IsEmptyStr(filename)) {
cprintf("%d You must specify a file name.\n",
ERROR + FILE_NOT_FOUND);
return;
}
- for (a = 0; a < strlen(filename); ++a) {
+ for (a = 0; !IsEmptyStr(&filename[a]); ++a) {
if (filename[a] == '/') {
filename[a] = '_';
}
return;
}
snprintf(outfile, sizeof outfile,
-#ifndef HAVE_SPOOL_DIR
- CTDLDIR
-#else
- SPOOL_DIR
-#endif
- "/network/spoolin/nsf.%04lx.%04x",
+ "%s/nsf.%04lx.%04x",
+ ctdl_netin_dir,
(long)getpid(), ++seq);
ofp = fopen(outfile, "a");
if (ofp == NULL) {
putc(255, ofp);
putc(MES_NORMAL, ofp);
putc(0, ofp);
- fprintf(ofp, "Pcit%ld", CC->user.usernum);
+ fprintf(ofp, "P%s", CC->user.fullname);
putc(0, ofp);
time(&now);
fprintf(ofp, "T%ld", (long) now);
fclose(ofp);
snprintf(buf, sizeof buf,
- "cd "
-#ifndef HAVE_DATA_DIR
- "." /* FIXME: should here be CTDLDIR ? */
-#else
- DATA_DIR
-#endif
+ "cd %s/%s; uuencode %s <%s 2>/dev/null >>%s",
+ ctdl_file_dir,
/* FIXME: detect uuencode while installation? or inline */
- "/files/%s; uuencode %s <%s 2>/dev/null >>%s",
CC->room.QRdirname, filename, filename, outfile);
system(buf);
return;
}
- if (strlen(filename) == 0) {
+ if (IsEmptyStr(filename)) {
cprintf("%d You must specify a file name.\n",
ERROR + FILE_NOT_FOUND);
return;
return;
}
- for (a = 0; a < strlen(filename); ++a) {
+ for (a = 0; !IsEmptyStr(&filename[a]); ++a) {
if (filename[a] == '/') {
filename[a] = '_';
}
}
snprintf(pathname, sizeof pathname,
-#ifndef HAVE_DATA_DIR
- "." /* FIXME: should here be CTDLDIR ? */
-#else
- DATA_DIR
-#endif
- "/files/%s/%s", CC->room.QRdirname, filename);
+ "%s/%s/%s",
+ ctdl_file_dir,
+ CC->room.QRdirname, filename);
CC->download_fp = fopen(pathname, "r");
if (CC->download_fp == NULL) {
extract_token(filename, cmdbuf, 0, '|', sizeof filename);
- if (strlen(filename) == 0) {
+ if (IsEmptyStr(filename)) {
cprintf("%d You must specify a file name.\n",
ERROR + FILE_NOT_FOUND);
return;
return;
}
snprintf(pathname, sizeof pathname,
-#ifndef HAVE_DATA_DIR
- "." /* FIXME: should here be CTDLDIR ? */
-#else
- DATA_DIR
-#endif
- "/userpics/%ld.gif",
+ "%s/%ld.gif",
+ ctdl_usrpic_dir,
usbuf.usernum);
} else if (!strcasecmp(filename, "_floorpic_")) {
which_floor = extract_int(cmdbuf, 1);
snprintf(pathname, sizeof pathname,
-#ifndef HAVE_DATA_DIR
- "." /* FIXME: should here be CTDLDIR ? */
-#else
- DATA_DIR
-#endif
- "/images/floor.%d.gif", which_floor);
+ "%s/floor.%d.gif",
+ ctdl_image_dir, which_floor);
} else if (!strcasecmp(filename, "_roompic_")) {
- assoc_file_name(pathname, sizeof pathname, &CC->room, "images");
+ assoc_file_name(pathname, sizeof pathname, &CC->room, ctdl_image_dir);
} else {
- for (a = 0; a < strlen(filename); ++a) {
+ for (a = 0; !IsEmptyStr(&filename[a]); ++a) {
filename[a] = tolower(filename[a]);
if (filename[a] == '/') {
filename[a] = '_';
}
}
- snprintf(pathname, sizeof pathname,
-#ifndef HAVE_DATA_DIR
- "." /* FIXME: should here be CTDLDIR ? */
-#else
- DATA_DIR
-#endif
- "/images/%s.gif",
+ snprintf(pathname, sizeof pathname,
+ "%s/%s.gif",
+ ctdl_image_dir,
filename);
}
return;
}
- if (strlen(CC->upl_file) == 0) {
+ if (IsEmptyStr(CC->upl_file)) {
cprintf("%d You must specify a file name.\n",
ERROR + FILE_NOT_FOUND);
return;
return;
}
- for (a = 0; a < strlen(CC->upl_file); ++a) {
+ for (a = 0; !IsEmptyStr(&CC->upl_file[a]); ++a) {
if (CC->upl_file[a] == '/') {
CC->upl_file[a] = '_';
}
}
snprintf(CC->upl_path, sizeof CC->upl_path,
-#ifndef HAVE_DATA_DIR
- "." /* FIXME: should here be CTDLDIR ? */
-#else
- DATA_DIR
-#endif
- "/files/%s/%s",
+ "%s/%s/%s",
+ ctdl_file_dir,
CC->room.QRdirname, CC->upl_file);
snprintf(CC->upl_filedir, sizeof CC->upl_filedir,
-#ifndef HAVE_DATA_DIR
- "." /* FIXME: should here be CTDLDIR ? */
-#else
- DATA_DIR
-#endif
- "/files/%s/filedir", CC->room.QRdirname);
+ "%s/%s/filedir",
+ ctdl_file_dir,
+ CC->room.QRdirname);
CC->upload_fp = fopen(CC->upl_path, "r");
if (CC->upload_fp != NULL) {
strcpy(CC->upl_path, "");
- for (a = 0; a < strlen(basenm); ++a) {
+ for (a = 0; !IsEmptyStr(&basenm[a]); ++a) {
basenm[a] = tolower(basenm[a]);
if (basenm[a] == '/') {
basenm[a] = '_';
if (CC->user.axlevel >= 6) {
snprintf(CC->upl_path, sizeof CC->upl_path,
-#ifndef HAVE_DATA_DIR
- "." /* FIXME: should here be CTDLDIR ? */
-#else
- DATA_DIR
-#endif
- "/images/%s",
+ "%s/%s",
+ ctdl_image_dir,
basenm);
}
if (!strcasecmp(basenm, "_userpic_")) {
snprintf(CC->upl_path, sizeof CC->upl_path,
-#ifndef HAVE_DATA_DIR
- "." /* FIXME: should here be CTDLDIR ? */
-#else
- DATA_DIR
-#endif
- "/userpics/%ld.gif", CC->user.usernum);
+ "%s/%ld.gif",
+ ctdl_usrpic_dir,
+ CC->user.usernum);
}
if ((!strcasecmp(basenm, "_floorpic_"))
&& (CC->user.axlevel >= 6)) {
which_floor = extract_int(cmdbuf, 2);
snprintf(CC->upl_path, sizeof CC->upl_path,
-#ifndef HAVE_DATA_DIR
- "." /* FIXME: should here be CTDLDIR ? */
-#else
- DATA_DIR
-#endif
- "/images/floor.%d.gif", which_floor);
+ "%s/floor.%d.gif",
+ ctdl_image_dir,
+ which_floor);
}
if ((!strcasecmp(basenm, "_roompic_")) && (is_room_aide())) {
- assoc_file_name(CC->upl_path, sizeof CC->upl_path, &CC->room, "images");
+ assoc_file_name(CC->upl_path, sizeof CC->upl_path, &CC->room, ctdl_image_dir);
}
- if (strlen(CC->upl_path) == 0) {
+ if (IsEmptyStr(CC->upl_path)) {
cprintf("%d Higher access required.\n",
ERROR + HIGHER_ACCESS_REQUIRED);
return;
if (CC->dl_is_net == 1) {
CC->dl_is_net = 0;
snprintf(buf, sizeof buf,
-#ifndef HAVE_SPOOL_DIR
- CTDLDIR
-#else
- SPOOL_DIR
-#endif
- "/network/spoolout/%s",
+ "%s/%s",
+ ctdl_netout_dir,
CC->net_node);
unlink(buf);
}
snprintf(upload_notice, sizeof upload_notice,
"NEW UPLOAD: '%s'\n %s\n",
CC->upl_file, CC->upl_comment);
- quickie_message(CC->curr_user, NULL, CC->room.QRname,
+ quickie_message(CC->curr_user, NULL, NULL, CC->room.QRname,
upload_notice, 0, NULL);
} else {
abort_upl(CC);
char pathname[256];
struct stat statbuf;
- if (strlen(CC->net_node) == 0) {
+ if (IsEmptyStr(CC->net_node)) {
cprintf("%d Not authenticated as a network node.\n",
ERROR + NOT_LOGGED_IN);
return;
}
snprintf(pathname, sizeof pathname,
-#ifndef HAVE_SPOOL_DIR
- CTDLDIR
-#else
- SPOOL_DIR
-#endif
- "/network/spoolout/%s",
+ "%s/%s",
+ ctdl_netout_dir,
CC->net_node);
/* first open the file in append mode in order to create a
{
static int seq = 1;
- if (strlen(CC->net_node) == 0) {
+ if (IsEmptyStr(CC->net_node)) {
cprintf("%d Not authenticated as a network node.\n",
ERROR + NOT_LOGGED_IN);
return;
}
snprintf(CC->upl_path, sizeof CC->upl_path,
-#ifndef HAVE_SPOOL_DIR
- CTDLDIR
-#else
- SPOOL_DIR
-#endif
- "/network/spoolin/%s.%04lx.%04x",
- CC->net_node, (long)getpid(), ++seq);
+ "%s/%s.%04lx.%04x",
+ ctdl_netin_dir,
+ CC->net_node,
+ (long)getpid(),
+ ++seq);
CC->upload_fp = fopen(CC->upl_path, "r");
if (CC->upload_fp != NULL) {