summaryrefslogtreecommitdiff
path: root/libproto/nntp/nntp_response.c
diff options
context:
space:
mode:
Diffstat (limited to 'libproto/nntp/nntp_response.c')
-rw-r--r--libproto/nntp/nntp_response.c86
1 files changed, 0 insertions, 86 deletions
diff --git a/libproto/nntp/nntp_response.c b/libproto/nntp/nntp_response.c
deleted file mode 100644
index 7e94ebcc0..000000000
--- a/libproto/nntp/nntp_response.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/* GNU Mailutils -- a suite of utilities for electronic mail
- Copyright (C) 2004-2019 Free Software Foundation, Inc.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 3 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General
- Public License along with this library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <mailutils/sys/nntp.h>
-
-/* If we did not grap the ack already, call nntp_readline() but handle
- Nonblocking also. */
-int
-mu_nntp_response (mu_nntp_t nntp, char *buffer, size_t buflen, size_t *pnread)
-{
- size_t n = 0;
- int status = 0;
-
- if (nntp == NULL)
- return EINVAL;
-
- if (!nntp->acknowledge)
- {
- size_t len = nntp->ack.len - (nntp->ack.ptr - nntp->ack.buf);
- status = mu_nntp_readline (nntp, nntp->ack.ptr, len, &n);
- nntp->ack.ptr += n;
- if (status == 0)
- {
- len = nntp->ack.ptr - nntp->ack.buf;
- if (len && nntp->ack.buf[len - 1] == '\n')
- nntp->ack.buf[len - 1] = '\0';
- nntp->acknowledge = 1; /* Flag that we have the ack. */
- nntp->ack.ptr = nntp->ack.buf;
- }
- else
- {
- /* Provide them with an error. */
- const char *econ = "500 NNTP IO ERROR";
- n = strlen (econ);
- strcpy (nntp->ack.buf, econ);
- }
- }
- else
- n = strlen (nntp->ack.buf);
-
- if (buffer)
- {
- buflen--; /* Leave space for the NULL. */
- n = (buflen < n) ? buflen : n;
- memcpy (buffer, nntp->ack.buf, n);
- buffer[n] = '\0';
- }
-
- if (pnread)
- *pnread = n;
- return status;
-}
-
-int
-mu_nntp_response_code(mu_nntp_t nntp)
-{
- char buffer[4];
- int code;
-
- memset (buffer, '\0', 4);
- mu_nntp_response(nntp, buffer, 4, NULL);
- /* translate the number, basically strtol() without the overhead. */
- code = (buffer[0] - '0')*100 + (buffer[1] - '0')*10 + (buffer[2] - '0');
- return code;
-}

Return to:

Send suggestions and report system problems to the System administrator.