Move simple subtstitution functions to the message functions
[citadel.git] / citadel / citserver.c
index d91b976b059bc003bc3a4bd2cc06dde4fc0602b0..a06940d68c6b55c1415c8d8e565f71763a7f79bf 100644 (file)
@@ -492,6 +492,40 @@ void cmd_iden(char *argbuf)
        cprintf("%d Ok\n",CIT_OK);
 }
 
+
+/* 
+ * help_subst()  -  support routine for help file viewer
+ */
+void help_subst(char *strbuf, char *source, char *dest)
+{
+       char workbuf[SIZ];
+       int p;
+
+       while (p = pattern2(strbuf, source), (p >= 0)) {
+               strcpy(workbuf, &strbuf[p + strlen(source)]);
+               strcpy(&strbuf[p], dest);
+               strcat(strbuf, workbuf);
+       }
+}
+
+void do_help_subst(char *buffer)
+{
+       char buf2[16];
+
+       help_subst(buffer, "^nodename", config.c_nodename);
+       help_subst(buffer, "^humannode", config.c_humannode);
+       help_subst(buffer, "^fqdn", config.c_fqdn);
+       help_subst(buffer, "^username", CC->user.fullname);
+       snprintf(buf2, sizeof buf2, "%ld", CC->user.usernum);
+       help_subst(buffer, "^usernum", buf2);
+       help_subst(buffer, "^sysadm", config.c_sysadm);
+       help_subst(buffer, "^variantname", CITADEL);
+       snprintf(buf2, sizeof buf2, "%d", config.c_maxsessions);
+       help_subst(buffer, "^maxsessions", buf2);
+       help_subst(buffer, "^bbsdir", ctdl_message_dir);
+}
+
+
 typedef const char *ccharp;
 /*
  * display system messages or help