RU.GOLDED --------------- < Пред. | След. > -- < @ > -- < Сообщ. > -- < Эхи > --
 Nп/п : 83 из 100
 От   : Nil A                               2:5015/46         05 мар 26 18:20:04
 К    : Stas Mishchenkov                                      05 мар 26 18:26:01
 Тема : [PATCH 2/3] Fix: Prevent UUE line corruption by quote/wrap logic
----------------------------------------------------------------------------------
                                                                                 
@MSGID: 2:5015/46 69a9a06f
@REPLY: 2:460/5858 69a96643
@CHRS: CP866 2
@TZUTC: 0300
@TID: hpt/lnx 1.9
Hello, Stas!

Thursday March 05 2026 14:16, from Stas Mishchenkov -> Nil A:

 NA>> - +// UUE character decode: maps ASCII to 6-bit value, -1 =
 NA>> invalid.
 NA>> +static int uu_xlat(unsigned char c)
 NA>> +{
 NA>> +    if (c >= ` ` && c < (` ` + 64))     return c - ` `;
 SM> Точно c >= ` `? В улюлюке же пробелов быть не должно.

 Прикол в том, что в оригинальном "стандарте", хотя нет RFC, но есть
просто man uuencode(5), как раз пробелы есть.

https://ru.wikipedia.org/wiki/UUE
> При кодировании из файла берутся данные по три байта (в случае, если
> осталось меньше 3 байт, недостающие заменяются нулями). 24 бита,
> образующие эти три байта, делятся на четыре группы по 6 бит. Каждая
> шестибитная группа интерпретируется как число (от 0 до 2^6-1=63), к
> которому добавляется 32. Получившееся число в диапазоне от 32 до 95
> трактуется как код символа в ASCII таблице (получаются символы от пробела
> (32) до знака подчёркивания (95)

 Т.е. нули кодируются пробелами в "стандарте". Понятное дело, что
постепенно пришло понимание, что пробелы в письмах про@бываются, их не особо
видно, и придумали их заменять на обратную-ковычку `, код которой 96, как
раз за последним символом подчёркивания (95).

=== Тестируем ===
% echo -n -e `\0\0\0` | uuencode test
begin 644 test
#````
`
end
====

Код функции uu_xlat как раз оба варианта хавают.

Best Regards, Nil
--- GoldED+/LNX 1.1.5-b20260305
 * Origin: Gemini can make mistakes, so double-check it (2:5015/46)
SEEN-BY: 46/49 50/109 104/117 221/6 240/1120 301/1
341/66 451/31 452/28 166
SEEN-BY: 455/19 460/58 463/68 4500/1 5000/111
5015/42 46 255 519 5019/40 400
SEEN-BY: 5020/101 113 545 620 715 830 846 848
1042 2992 4441 12000 5022/128
SEEN-BY: 5029/32 5030/49 115 1081 1474 5049/1 3
5050/151 5053/51 58 5054/89
SEEN-BY: 5058/104 5060/900 5061/133 5068/45 5083/1
444 6078/80 6090/1
@PATH: 5015/46 5020/1042 4441



   GoldED+ VK   │                                                 │   09:55:30    
                                                                                
В этой области больше нет сообщений.

Остаться здесь
Перейти к списку сообщений
Перейти к списку эх