aboutsummaryrefslogtreecommitdiffstats
path: root/FICS/utils.c
diff options
context:
space:
mode:
authorMarkus Uhlin <markus@nifty-networks.net>2023-12-25 18:47:40 +0100
committerMarkus Uhlin <markus@nifty-networks.net>2023-12-25 18:47:40 +0100
commit7290518df94259d2c8be1f929defb35f7125c156 (patch)
treefaa9c9ee02de91ce6d8103fe1924027e509c44fb /FICS/utils.c
parentbe62d05f7cfc4dc9a98c21aab1b280542917fe87 (diff)
Improved pcommand()
Diffstat (limited to 'FICS/utils.c')
-rw-r--r--FICS/utils.c38
1 files changed, 22 insertions, 16 deletions
diff --git a/FICS/utils.c b/FICS/utils.c
index 3d53afc..c23acac 100644
--- a/FICS/utils.c
+++ b/FICS/utils.c
@@ -202,23 +202,29 @@ PUBLIC int mail_file_to_user(int p, char *subj, char *fname)
}
-/* Process a command for a user */
-PUBLIC int pcommand(int p, char *comstr, ...)
+/*
+ * Process a command for a user
+ */
+PUBLIC int
+pcommand(int p, char *comstr, ...)
{
- char tmp[MAX_LINE_SIZE];
- int retval;
- int current_socket = parray[p].socket;
- va_list ap;
- va_start(ap, comstr);
-
- vsprintf(tmp, comstr, ap);
- retval = process_input(current_socket, tmp);
- if (retval == COM_LOGOUT) {
- process_disconnection(current_socket);
- net_close_connection(current_socket);
- }
- va_end(ap);
- return retval;
+ char tmp[MAX_LINE_SIZE];
+ int current_socket = parray[p].socket;
+ int retval;
+ va_list ap;
+
+ va_start(ap, comstr);
+ vsnprintf(tmp, sizeof tmp, comstr, ap);
+ va_end(ap);
+
+ retval = process_input(current_socket, tmp);
+
+ if (retval == COM_LOGOUT) {
+ process_disconnection(current_socket);
+ net_close_connection(current_socket);
+ }
+
+ return retval;
}
PUBLIC int