*/
#include <h/mh.h>
+#include <h/utils.h>
extern int client(char *args, char *protocol, char *service, int rproto,
char *response, int len_response);
len = strlen(pass);
- *psecret = (sasl_secret_t *) malloc(sizeof(sasl_secret_t) + len);
-
- if (! *psecret)
- return SASL_NOMEM;
+ *psecret = (sasl_secret_t *) mh_xmalloc(sizeof(sasl_secret_t) + len);
(*psecret)->len = len;
strcpy((char *) (*psecret)->data, pass);
}
/* put together list of arguments */
- p = pargv = malloc(pargc * sizeof(char *));
- c = *pargv = malloc(plen * sizeof(char));
+ p = pargv = mh_xmalloc(pargc * sizeof(char *));
+ c = *pargv = mh_xmalloc(plen * sizeof(char));
for (cur = pro; *cur; cur++) {
if (isspace(*cur) && cur[1] && !isspace(cur[1])) {
*c++ = '\0';
int fd1, fd2;
char buffer[BUFSIZ];
+#ifdef APOP
+ int apop;
+
+ if ((apop = rpop) < 0)
+ rpop = 0;
+#endif
+
if (proxy && *proxy) {
int pid;
int inpipe[2]; /* for reading from the server */
} else {
-#ifdef APOP
- int apop;
-
- if ((apop = rpop) < 0)
- rpop = 0;
-#endif
-
#ifndef NNTP
-# ifdef KPOP
if ( kpop ) {
+# ifdef KPOP
snprintf (buffer, sizeof(buffer), "%s/%s", KPOP_PRINCIPAL, "kpop");
if ((fd1 = client (host, "tcp", buffer, 0, response, sizeof(response))) == NOTOK) {
return NOTOK;
}
- } else {
+# else /* KPOP */
+ snprintf (response, sizeof(response), "this version of nmh compiled without KPOP support");
+ return NOTOK;
# endif /* KPOP */
+ } else {
if ((fd1 = client (host, "tcp", POPSERVICE, rpop, response, sizeof(response))) == NOTOK) {
return NOTOK;
}
-# ifdef KPOP
}
-# endif /* KPOP */
#else /* NNTP */
if ((fd1 = client (host, "tcp", "nntp", rpop, response, sizeof(response))) == NOTOK)
return NOTOK;
snprintf (buffer, sizeof(buffer), fmt, a, b, c, d);
ap = brkstring (buffer, " ", "\n"); /* a hack, i know... */
- if (!strcasecmp(ap[0], "x-bboards")) { /* XTND "X-BBOARDS group */
+ if (!mh_strcasecmp(ap[0], "x-bboards")) { /* XTND "X-BBOARDS group */
/* most of these parameters are meaningless under NNTP.
* bbc.c was modified to set AKA and LEADERS as appropriate,
* the rest are left blank.
*/
return OK;
}
- if (!strcasecmp (ap[0], "archive") && ap[1]) {
+ if (!mh_strcasecmp (ap[0], "archive") && ap[1]) {
snprintf (xtnd_name, sizeof(xtnd_name), "%s", ap[1]); /* save the name */
xtnd_last = 0;
xtnd_first = 1; /* setup to fail in pop_stat */
return OK;
}
- if (!strcasecmp (ap[0], "bboards")) {
+ if (!mh_strcasecmp (ap[0], "bboards")) {
if (ap[1]) { /* XTND "BBOARDS group" */
snprintf (xtnd_name, sizeof(xtnd_name), "%s", ap[1]); /* save the name */
}
if (retbufsize > size) {
- buffer = realloc(buffer, retbufsize);
- if (!buffer) {
- snprintf(response, sizeof(response), "Error during realloc in "
- "read routine: %s", strerror(errno));
- return -2;
- }
+ buffer = mh_xrealloc(buffer, retbufsize);
size = retbufsize;
}