2009-10-26

Отпуск прошёл не впустую

Во время отпуска поправил некоторое количество багов в любимых программах.

#551766 - bittornado: can't download torrent files with no 'announce' field (репорт, патч, приняли в апстрим).

#368604 - bittornado: Add an option to allow download of dot-files (патч делал ещё два года тому назад, апстрим отмолчался, репорт не мой).

#551896 - mldonkey-server: can't download torrent files with no 'announce' field (репорт, патч, приняли в апстрим).

#552004 - mldonkey-server: 'Error Failure("hd"), moved to torrents/old' for some torrent files (репорт, патч, приняли в апстрим с косметическими изменениями).

В общем, отпуск прошёл не впустую :-)

Патчить написанный на ocaml mldonkey без знания ocaml было прикольно. Синтаксис и стиль всё-таки заметно отличаются от всего, что я знал:

List.iter (fun url_list ->
    let next_urls = ref [] in
    match url_list with
    | List next_url_list ->
        List.iter (fun myvalue ->
            match myvalue with
            | String next_url ->
                next_urls := next_url :: !next_urls;
                if !verbose_msg_servers then
                  lprintf_nl "[BT] New tracker received :%s" next_url
            | _ ->
                if !verbose_msg_servers then
                  lprintf_nl "[BT] error while decoding announce list"
        ) next_url_list;
        if List.length !next_urls > 1 then begin
            next_urls := List2.shuffle !next_urls;
            announce_list := !next_urls @ !announce_list
          end
        else
          announce_list := (try List.hd !next_urls with _ -> "") :: !announce_list
    | _ ->
        lprintf_nl "[BT] unknown field in announce list"
    ) list;
Но ничего, отладочная печать, пяток пересборок - #551896 удалось локализовать и исправить даже без заглядывания документацию. C собиранием я сжульничал, конечно - собирал прямо debuild-ом, то есть со сборочной систомой не разбирался вовсе. #552004 был чуть-чуть посложнее, и пришлось подсмотреть в руководстве что там за hd, что такое ! и ::.

Попутно узнал что письма Дебиановскому [email protected]можно завершать не только роботским "quit", но и вежливым "thank you". Быть вежливым (пусть даже и с программой) - приятно.

3 comments:

Sergey Lilo said...

Вспомнил http://bash.org.ru/quote/391797 :)

Sergey Lilo said...

Kernel: Linux 2.6.26-2-openvz-686 (SMP w/1 CPU core)
Locale: LANG=ru_RU.koi8r, LC_CTYPE=ru_RU.koi8r (charmap=KOI8-R)

Слава, 2009 за окном :)

vnaum said...

> http://bash.org.ru/quote/391797 :)
Не катит - я сижу за тем же компом :-)

> Слава, 2009 за окном :)
И чо, надо срочно поменять локаль (с которой всё ок) на другую ради непонятных преимуществ? Ядро вообще дистрибутивное. Менять не вижу резона.

Subscribe / RSS