name (const char *q)
{
    char ch = 0;
    int state = 0;

    if (!*q)
    {
        string (".");
        return;
    }
    while ((state = *q++))
    {
        while (state)
        {
            ch = *q++;
            --state;
            if ((ch <= 32) || (ch > 126))
                ch = '?';
            if ((ch >= 'A') && (ch <= 'Z'))
                ch += 32;
            buffer_put (buffer_2, &ch, 1);
        }
        string (".");
    }
}
name (const char *q)
{
    char ch = 0;
    int state = 0;

    if (!*q)
    {
        string (".");
        return;
    }
    while ((state = *q++))
    {
        while (state)
        {
            ch = *q++;
            --state;
            if ((ch <= 32) || (ch > 126))
                ch = '?';
            if ((ch >= 'A') && (ch <= 'Z'))
                ch += 32;
            buffer_put (buffer_2, &ch, 1);
        }
        string (".");
    }
}