X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fdistsbr.c;h=319e496adf15582d60195651d3decbab77153ae6;hp=7c46da1abedbfdb66bfef0ddd53206656127f3c4;hb=714b5c530ece27ea2835a313013f5b770163403c;hpb=ced6090a330d3d83d0bce709f756aa3d7d65fea4 diff --git a/uip/distsbr.c b/uip/distsbr.c index 7c46da1..319e496 100644 --- a/uip/distsbr.c +++ b/uip/distsbr.c @@ -24,7 +24,7 @@ static int txtfd = NOTOK; static void ready_msg(char *); int -distout (char *drft, char *msgnam, char *backup) +distout(char *drft, char *msgnam, char *backup) { int state; register unsigned char *dp; @@ -32,42 +32,44 @@ distout (char *drft, char *msgnam, char *backup) char name[NAMESZ], buffer[BUFSIZ]; register FILE *ifp, *ofp; - if (rename (drft, strcpy (backup, m_backup (drft))) == NOTOK) - adios (backup, "unable to rename %s to",drft); - if ((ifp = fopen (backup, "r")) == NULL) - adios (backup, "unable to read"); + if (rename(drft, strcpy(backup, m_backup(drft))) == NOTOK) + adios(backup, "unable to rename %s to",drft); + if ((ifp = fopen(backup, "r")) == NULL) + adios(backup, "unable to read"); - if ((ofp = fopen (drft, "w")) == NULL) - adios (drft, "unable to create temporary file"); - chmod (drft, m_gmprot ()); + if ((ofp = fopen(drft, "w")) == NULL) + adios(drft, "unable to create temporary file"); + chmod(drft, m_gmprot()); - ready_msg (msgnam); - lseek (hdrfd, (off_t) 0, SEEK_SET); /* msgnam not accurate */ - cpydata (hdrfd, fileno (ofp), msgnam, drft); + ready_msg(msgnam); + lseek(hdrfd, (off_t) 0, SEEK_SET); /* msgnam not accurate */ + cpydata(hdrfd, fileno(ofp), msgnam, drft); for (state = FLD, resent = NULL;;) - switch (state = - m_getfld (state, name, buffer, sizeof buffer, ifp)) { + switch (state = m_getfld (state, name, buffer, + sizeof buffer, ifp)) { case FLD: case FLDPLUS: case FLDEOF: - if (uprf (name, "distribute-")) - snprintf (name, sizeof(name), "%s%s", "Resent", &name[10]); - if (uprf (name, "distribution-")) - snprintf (name, sizeof(name), "%s%s", "Resent", &name[12]); - if (!uprf (name, "resent")) { - advise (NULL, BADHDR, "draft", name); + if (uprf(name, "distribute-")) + snprintf(name, sizeof(name), "%s%s", + "Resent", &name[10]); + if (uprf(name, "distribution-")) + snprintf(name, sizeof(name), "%s%s", + "Resent", &name[12]); + if (!uprf(name, "resent")) { + advise(NULL, BADHDR, "draft", name); goto leave_bad; } if (state == FLD) - resent = add (":", add (name, resent)); - resent = add (buffer, resent); - fprintf (ofp, "%s: %s", name, buffer); + resent = add(":", add(name, resent)); + resent = add(buffer, resent); + fprintf(ofp, "%s: %s", name, buffer); while (state == FLDPLUS) { - state = m_getfld (state, name, - buffer, sizeof buffer, ifp); - resent = add (buffer, resent); - fputs (buffer, ofp); + state = m_getfld(state, name, buffer, + sizeof buffer, ifp); + resent = add(buffer, resent); + fputs(buffer, ofp); } if (state == FLDEOF) goto process; @@ -76,8 +78,8 @@ distout (char *drft, char *msgnam, char *backup) case BODY: case BODYEOF: for (dp = buffer; *dp; dp++) - if (!isspace (*dp)) { - advise (NULL, BADTXT, "draft"); + if (!isspace(*dp)) { + advise(NULL, BADTXT, "draft"); goto leave_bad; } @@ -86,45 +88,46 @@ distout (char *drft, char *msgnam, char *backup) case LENERR: case FMTERR: - advise (NULL, BADRFT, "draft"); + advise(NULL, BADRFT, "draft"); leave_bad: ; - fclose (ifp); - fclose (ofp); - unlink (drft); - if (rename (backup, drft) == NOTOK) - adios (drft, "unable to rename %s to", backup); + fclose(ifp); + fclose(ofp); + unlink(drft); + if (rename(backup, drft) == NOTOK) + adios(drft, "unable to rename %s to", + backup); return NOTOK; default: - adios (NULL, "getfld() returned %d", state); + adios(NULL, "getfld() returned %d", state); } process: ; - fclose (ifp); - fflush (ofp); + fclose(ifp); + fflush(ofp); if (!resent) { - advise (NULL, BADMSG, "draft"); - fclose (ofp); - unlink (drft); - if (rename (backup, drft) == NOTOK) - adios (drft, "unable to rename %s to", backup); + advise(NULL, BADMSG, "draft"); + fclose(ofp); + unlink(drft); + if (rename(backup, drft) == NOTOK) + adios(drft, "unable to rename %s to", backup); return NOTOK; } - free (resent); + free(resent); if (txtfd != NOTOK) { - lseek (txtfd, (off_t) 0, SEEK_SET); /* msgnam not accurate */ - cpydata (txtfd, fileno (ofp), msgnam, drft); + lseek(txtfd, (off_t) 0, SEEK_SET); /* msgnam not accurate */ + cpydata(txtfd, fileno(ofp), msgnam, drft); } - fclose (ofp); + fclose(ofp); return OK; } static void -ready_msg (char *msgnam) +ready_msg(char *msgnam) { int state, out; char name[NAMESZ], buffer[BUFSIZ], tmpfil[BUFSIZ]; @@ -132,12 +135,12 @@ ready_msg (char *msgnam) char *cp = NULL; if (hdrfd != NOTOK) - close (hdrfd), hdrfd = NOTOK; + close(hdrfd), hdrfd = NOTOK; if (txtfd != NOTOK) - close (txtfd), txtfd = NOTOK; + close(txtfd), txtfd = NOTOK; - if ((ifp = fopen (msgnam, "r")) == NULL) - adios (msgnam, "unable to open message"); + if ((ifp = fopen(msgnam, "r")) == NULL) + adios(msgnam, "unable to open message"); cp = m_mktemp2(NULL, "dist", &hdrfd, NULL); if (cp == NULL) { @@ -145,24 +148,24 @@ ready_msg (char *msgnam) } fchmod(hdrfd, 0600); strncpy(tmpfil, cp, sizeof(tmpfil)); - if ((out = dup (hdrfd)) == NOTOK - || (ofp = fdopen (out, "w")) == NULL) - adios (NULL, "no file descriptors -- you lose big"); - unlink (tmpfil); + if ((out = dup(hdrfd)) == NOTOK + || (ofp = fdopen(out, "w")) == NULL) + adios(NULL, "no file descriptors -- you lose big"); + unlink(tmpfil); for (state = FLD;;) - switch (state = - m_getfld (state, name, buffer, sizeof buffer, ifp)) { + switch (state = m_getfld (state, name, buffer, sizeof buffer, + ifp)) { case FLD: case FLDPLUS: case FLDEOF: - if (uprf (name, "resent")) - fprintf (ofp, "Prev-"); - fprintf (ofp, "%s: %s", name, buffer); + if (uprf(name, "resent")) + fprintf(ofp, "Prev-"); + fprintf(ofp, "%s: %s", name, buffer); while (state == FLDPLUS) { - state = m_getfld (state, name, - buffer, sizeof buffer, ifp); - fputs (buffer, ofp); + state = m_getfld(state, name, buffer, + sizeof buffer, ifp); + fputs(buffer, ofp); } if (state == FLDEOF) goto process; @@ -170,35 +173,37 @@ ready_msg (char *msgnam) case BODY: case BODYEOF: - fclose (ofp); + fclose(ofp); cp = m_mktemp2(NULL, "dist", &txtfd, NULL); if (cp == NULL) { adios("distsbr", "unable to create temporary file"); } fchmod(txtfd, 0600); - strncpy (tmpfil, cp, sizeof(tmpfil)); - if ((out = dup (txtfd)) == NOTOK - || (ofp = fdopen (out, "w")) == NULL) - adios (NULL, "no file descriptors -- you lose big"); - unlink (tmpfil); - fprintf (ofp, "\n%s", buffer); + strncpy(tmpfil, cp, sizeof(tmpfil)); + if ((out = dup(txtfd)) == NOTOK + || (ofp = fdopen(out, "w")) + == NULL) + adios(NULL, "no file descriptors -- you lose big"); + unlink(tmpfil); + fprintf(ofp, "\n%s", buffer); while (state == BODY) { - state = m_getfld (state, name, - buffer, sizeof buffer, ifp); - fputs (buffer, ofp); + state = m_getfld(state, name, buffer, + sizeof buffer, ifp); + fputs(buffer, ofp); } case FILEEOF: goto process; case LENERR: case FMTERR: - adios (NULL, "format error in message %s", msgnam); + adios(NULL, "format error in message %s", + msgnam); default: - adios (NULL, "getfld() returned %d", state); + adios(NULL, "getfld() returned %d", state); } process: ; - fclose (ifp); - fclose (ofp); + fclose(ifp); + fclose(ofp); }