summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlantw44 <lantw44.bbs@sony.tfcis.org>2017-09-15 00:00:14 +0800
committerBBS Administrator <bbs@sony.tfcis.org>2017-09-15 00:00:14 +0800
commitbf42ff012f16bd3a0bf795f30929afbd34fe81d4 (patch)
treef94018b530c9a8436557d1c6d57952c5ec9ce3c2
parent94bb24249c2a3f6e68955b6b8339c337b43bdb81 (diff)
downloadsonybbs-bf42ff012f16bd3a0bf795f30929afbd34fe81d4.tar.gz
sonybbs-bf42ff012f16bd3a0bf795f30929afbd34fe81d4.tar.zst
sonybbs-bf42ff012f16bd3a0bf795f30929afbd34fe81d4.zip
讓 showACCT 可以顯示已經被刪除的帳號
最近有不少人要求復原被刪除的帳號,有這功能比較好查詢使用者編號。
-rw-r--r--lib/dao.p1
-rw-r--r--lib/f_path.c15
-rw-r--r--util/showACCT.c9
3 files changed, 23 insertions, 2 deletions
diff --git a/lib/dao.p b/lib/dao.p
index f9237de..9e51e43 100644
--- a/lib/dao.p
+++ b/lib/dao.p
@@ -102,6 +102,7 @@ FILE *f_new(char *fold, char *fnew);
void brd_fpath(char *fpath, char *board, char *fname);
void gem_fpath(char *fpath, char *board, char *fname);
void usr_fpath(char *fpath, char *user, char *fname);
+void usr_deleted_fpath(char *fpath, char *user, char *fname);
/* f_rm.c */
int f_rm(char *fpath);
/* f_suck.c */
diff --git a/lib/f_path.c b/lib/f_path.c
index 340e726..5ed721b 100644
--- a/lib/f_path.c
+++ b/lib/f_path.c
@@ -84,3 +84,18 @@ usr_fpath(fpath, user, fname)
*fpath++ = *buf;
mak_fpath(fpath, buf, fname);
}
+
+
+void
+usr_deleted_fpath(fpath, user, fname)
+ char *fpath;
+ char *user;
+ char *fname;
+{
+ *fpath++ = 'u';
+ *fpath++ = 's';
+ *fpath++ = 'r';
+ *fpath++ = '/';
+ *fpath++ = '@';
+ mak_fpath(fpath, user, fname);
+}
diff --git a/util/showACCT.c b/util/showACCT.c
index 9df3d4b..78bef9b 100644
--- a/util/showACCT.c
+++ b/util/showACCT.c
@@ -104,8 +104,13 @@ main(argc, argv)
usr_fpath(fpath, argv[i], FN_ACCT);
if (rec_get(fpath, &acct, sizeof(ACCT), 0) < 0)
{
- printf("%s: read error (maybe no such id?)\n", argv[i]);
- continue;
+ usr_deleted_fpath(fpath, argv[i], FN_ACCT);
+ if (rec_get(fpath, &acct, sizeof(ACCT), 0) < 0)
+ {
+ printf("%s: read error (maybe no such id?)\n", argv[i]);
+ continue;
+ }
+ printf("\033[1;33mĵi:\033[m b %s wQR\n", argv[i]);
}
showACCT(&acct);