68user's page 掲示板

Prev< No. 1462> Next  [最新発言に戻る] [過去ログ一覧]
No. 1462 # nac 2000/12/14 (木) 02:56:19
こんばんは、質問をした本人のレスが遅れて申し訳ありません。
(しかも、ソースまで見て頂いて恐縮です。)

>サーバアプリケーションの名前を教えてください。qpopper ですか?
一般のプロバイダで実験したので、わかりませんでした。
今度他の qmail, sendmail が動いているサーバーで実験してみます。

さて、私も手元にあった、qpopper3.0.2 のソースを眺めてみました。
(POP_TERMINATE は '.' buffer は buffer[MAXMSGLINELEN] (MAMSGLINELEN=1024) と宣言されています)

pop_sendline ( p, buffer )
POP * p;
char * buffer;
{
        char * bp;

        /*
          * Byte stuff lines that begin with the termination octet
          */
        if ( *buffer == POP_TERMINATE )
                (void)fputc ( POP_TERMINATE, p->output );

        /*
          * Terminate the string at a <NL> if one exists in the buffer
          */
        bp = index ( buffer, NEWLINE );
        if ( bp != NULL )
                *bp = 0;

        /*
          * Send the line to the client
          */
        (void) fputs ( buffer, p->output );

        /*
          * Put a <CR><NL> if a newline was removed from the buffer
          */
        if ( bp != NULL )
                (void) fputs ( "\r\n", p->output );
}

これをみると、やはり、\n がなければそのまま出力されて
しまうようですね。なんとなく、最初から、\n があることを
想定しているような感じも受けます。

Prev< No. 1462> Next  [最新発言に戻る] [過去ログ一覧]