nmh-workers
[Top] [All Lists]

Re: [Nmh-workers] corruption when attaching all-null files

2014-05-11 20:16:21
ralph wrote:
Hi Paul,

here's the place where the new "containsnul" is used, for CT_TEXT and
CT_APPLICATION.
...
        case CT_TEXT:
            if (contains8bit && !containsnul && !linelen && !linespace && 
!checksw)
                ct->c_encoding = CE_8BIT;
            else if (contains8bit || containsnul || linelen || linespace 
|| checksw)
                ct->c_encoding = CE_QUOTED;
            else
                ct->c_encoding = CE_7BIT;
            break;

The duplication of contains8bit seems overly complex.

    case CT_TEXT:
        if (contains8bit)
            ct->c_encoding = (containsnul || linelen || linespace || 
checksw) ?
                CE_QUOTED : CE_8BIT;
        else
            ct->c_encoding = CE_7BIT;

i agree that the logic is cumbersome, but that doesn't look like a correct
translation to me.  how about this:

        needs_q_p = (containsnul || linelen || linespace || checksw);
        ...

        case CT_TEXT:
            if (needs_q_p)
                 ct->c_encoding = CE_QUOTED;
            else if (contains8bit)
                 ct->c_encoding = CE_8BIT;
            else
                 ct->c_encoding = CE_7BIT;


=----------------------
 paul fox, pgf(_at_)foxharp(_dot_)boston(_dot_)ma(_dot_)us (arlington, ma, 
where it's 66.0 degrees)

_______________________________________________
Nmh-workers mailing list
Nmh-workers(_at_)nongnu(_dot_)org
https://lists.nongnu.org/mailman/listinfo/nmh-workers

<Prev in Thread] Current Thread [Next in Thread>