summaryrefslogtreecommitdiff
path: root/libproto/nntp/nntp_head.c
diff options
context:
space:
mode:
Diffstat (limited to 'libproto/nntp/nntp_head.c')
-rw-r--r--libproto/nntp/nntp_head.c106
1 files changed, 0 insertions, 106 deletions
diff --git a/libproto/nntp/nntp_head.c b/libproto/nntp/nntp_head.c
deleted file mode 100644
index 256d63edc..000000000
--- a/libproto/nntp/nntp_head.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/* GNU Mailutils -- a suite of utilities for electronic mail
- Copyright (C) 1999-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>
-
-int
-mu_nntp_head (mu_nntp_t nntp, unsigned long number, unsigned long *pnum, char **mid, mu_stream_t *pstream)
-{
- int status;
- char *message_id = NULL;
- if (number != 0)
- {
- message_id = malloc (128);
- if (message_id == NULL)
- {
- return ENOMEM;
- }
- snprintf (message_id, 127, "%lu", number);
- }
- status = mu_nntp_head_id (nntp, message_id, pnum, mid, pstream);
- if (message_id)
- {
- free (message_id);
- }
- return status;
-}
-
-int
-mu_nntp_head_id (mu_nntp_t nntp, const char *message_id, unsigned long *pnum, char **mid, mu_stream_t *pstream)
-{
- int status;
-
- if (nntp == NULL)
- return EINVAL;
- if (pstream == NULL)
- return MU_ERR_OUT_PTR_NULL;
-
- switch (nntp->state)
- {
- case MU_NNTP_NO_STATE:
- if (message_id == NULL || *message_id == '\0')
- {
- status = mu_nntp_writeline (nntp, "HEAD\r\n");
- }
- else
- {
- status = mu_nntp_writeline (nntp, "HEAD %s\r\n", message_id);
- }
- MU_NNTP_CHECK_ERROR (nntp, status);
- mu_nntp_debug_cmd (nntp);
- nntp->state = MU_NNTP_HEAD;
-
- case MU_NNTP_HEAD:
- status = mu_nntp_send (nntp);
- MU_NNTP_CHECK_EAGAIN (nntp, status);
- nntp->acknowledge = 0;
- nntp->state = MU_NNTP_HEAD_ACK;
-
- case MU_NNTP_HEAD_ACK:
- status = mu_nntp_response (nntp, NULL, 0, NULL);
- MU_NNTP_CHECK_EAGAIN (nntp, status);
- mu_nntp_debug_ack (nntp);
- MU_NNTP_CHECK_CODE (nntp, MU_NNTP_RESP_CODE_HEAD_FOLLOW);
- nntp->state = MU_NNTP_HEAD_RX;
-
- /* parse the answer now. */
- status = mu_nntp_parse_article (nntp, MU_NNTP_RESP_CODE_HEAD_FOLLOW, pnum, mid);
- MU_NNTP_CHECK_ERROR (nntp, status);
-
- case MU_NNTP_HEAD_RX:
- status = mu_nntp_stream_create (nntp, pstream);
- MU_NNTP_CHECK_ERROR (nntp, status);
- break;
-
- /* They must deal with the error first by reopening. */
- case MU_NNTP_ERROR:
- status = ECANCELED;
- break;
-
- default:
- status = EINPROGRESS;
- }
-
- return status;
-}

Return to:

Send suggestions and report system problems to the System administrator.