cdb_delete(CDB_USERS, usernamekey, strlen(usernamekey));
/* remove the user's bio file */
- snprintf(filename, sizeof filename, "./bio/%ld", usbuf.usernum);
+ snprintf(filename, sizeof filename,
+#ifndef HAVE_DATA_DIR
+ "." /* FIXME: should here be CTDLDIR ? */
+#else
+ DATA_DIR
+#endif
+ "/bio/%ld", usbuf.usernum);
unlink(filename);
/* remove the user's picture */
- snprintf(filename, sizeof filename, "./userpics/%ld.gif", usbuf.usernum);
+ snprintf(filename, sizeof filename,
+#ifndef HAVE_DATA_DIR
+ "." /* FIXME: should here be CTDLDIR ? */
+#else
+ DATA_DIR
+#endif
+ "/userpics/%ld.gif", usbuf.usernum);
unlink(filename);
return (0);
target_msgnum = extract_long(argbuf, 0);
target_setting = extract_int(argbuf, 1);
- CtdlSetSeen(target_msgnum, target_setting, ctdlsetseen_seen);
+ CtdlSetSeen(target_msgnum, target_setting, ctdlsetseen_seen, NULL, NULL);
cprintf("%d OK\n", CIT_OK);
}
*/
void ListThisUser(struct ctdluser *usbuf, void *data)
{
+ char *searchstring;
+
+ searchstring = (char *)data;
+ if (bmstrstr(usbuf->fullname, searchstring, strncasecmp) == NULL) {
+ return;
+ }
+
if (usbuf->axlevel > 0) {
if ((CC->user.axlevel >= 6)
|| ((usbuf->flags & US_UNLISTED) == 0)
}
/*
- * List users
+ * List users (searchstring may be empty to list all users)
*/
-void cmd_list(void)
+void cmd_list(char *cmdbuf)
{
+ char searchstring[256];
+ extract_token(searchstring, cmdbuf, 0, '|', sizeof searchstring);
+ striplt(searchstring);
cprintf("%d \n", LISTING_FOLLOWS);
- ForEachUser(ListThisUser, NULL);
+ ForEachUser(ListThisUser, (void *)searchstring );
cprintf("000\n");
}