aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--FICS/playerdb.c15
-rw-r--r--FICS/playerdb.h1
2 files changed, 16 insertions, 0 deletions
diff --git a/FICS/playerdb.c b/FICS/playerdb.c
index f84dfe4..2e53076 100644
--- a/FICS/playerdb.c
+++ b/FICS/playerdb.c
@@ -75,6 +75,21 @@ player_num_ok_chk(const int num)
num < (int)ARRAY_SIZE(parray));
}
+PUBLIC void
+xrename(const char *fn, const char *name1, const char *name2)
+{
+ if (fn == NULL || name1 == NULL || name2 == NULL) {
+ errno = EINVAL;
+ warn("%s", __func__);
+ return;
+ }
+
+ errno = 0;
+
+ if (rename(name1, name2) != 0)
+ warn("%s: '%s' -> '%s'", fn, name1, name2);
+}
+
PRIVATE int
get_empty_slot(void)
{
diff --git a/FICS/playerdb.h b/FICS/playerdb.h
index dc5d6cc..1ccae61 100644
--- a/FICS/playerdb.h
+++ b/FICS/playerdb.h
@@ -204,6 +204,7 @@ extern player parray[PARRAY_SIZE];
extern int p_num;
extern bool player_num_ok_chk(const int);
+extern void xrename(const char *, const char *, const char *);
extern int ClearMsgsBySender(int, param_list);
extern int ClrMsgRange(int, int, int);