summaryrefslogtreecommitdiffstats
path: root/mbbsd/name.c
diff options
context:
space:
mode:
Diffstat (limited to 'mbbsd/name.c')
-rw-r--r--mbbsd/name.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/mbbsd/name.c b/mbbsd/name.c
index 47416136..ffb4fc4f 100644
--- a/mbbsd/name.c
+++ b/mbbsd/name.c
@@ -159,6 +159,36 @@ int NameList_search(const struct NameList *self, const char *name)
//-----------------------------------------------------------------------
+char *
+u_namearray(char buf[][IDLEN + 1], int *pnum, char *tag)
+{
+ register char *ptr, tmp;
+ register int n, total;
+ char tagbuf[STRLEN];
+ int ch, ch2, num;
+
+ if (*tag == '\0') {
+ *pnum = SHM->number;
+ return SHM->userid[0];
+ }
+ for (n = 0; tag[n]; n++)
+ tagbuf[n] = chartoupper(tag[n]);
+ tagbuf[n] = '\0';
+ ch = tagbuf[0];
+ ch2 = ch - 'A' + 'a';
+ total = SHM->number;
+ for (n = num = 0; n < total; n++) {
+ ptr = SHM->userid[n];
+ tmp = *ptr;
+ if (tmp == ch || tmp == ch2) {
+ if (chkstr(tag, tagbuf, ptr))
+ strcpy(buf[num++], ptr);
+ }
+ }
+ *pnum = num;
+ return buf[0];
+}
+
static int
UserMaxLen(char cwlist[][IDLEN + 1], int cwnum, int morenum,
int count)