Summary: | Не экранируется символ "\" в имени переменной при экспорте из реестра | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Денис Баранов <baraka> |
Component: | Общее | Assignee: | Andrey Vusik <night> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | major | ||
Priority: | P3 | CC: | kondratyuk, lav, night, vitperov |
Version: | 2.0 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | 5157 | ||
Bug Blocks: | 42, 5618 |
Description
Денис Баранов
2009-03-18 20:52:36 MSK
Извольте пожалуйста минимальный пример reg-файла прикладывать к баге. (In reply to comment #1) > Извольте пожалуйста минимальный пример > reg-файла прикладывать к баге. > В примере в бутылке: REGEDIT4 [HKEY_CLASSES_ROOT\.avi] @="mplayer.etersoft" "Content Type's123"="video\avi" Мне кажется, что правильное написание ключа должно быть: video/avi У вас в примере слеш в обратную сторону. А в ключах, где присутствуют '\', они должны экранироваться. Например: REGEDIT4 [HKEY_LOCAL_MACHINE\Software\Classes\calc.etersoft\DefaultIcon] @="c:\\windows\\icons\\scalc.ico" Считаю, что ошибки не существует. (In reply to comment #5) > Считаю, что ошибки не существует. > Согласен, просто клиент сбил с толку. В Windows при экспорте "\" тоже экранируется "\\". В общем проблема в том что при экспорте символ "\" у нас не экранируется. Не верю При экспорте или при импорте? Строку @="c:\\windows\\icons\\scalc.ico" я получил экспортом из regedit (In reply to comment #9) > При экспорте или при импорте? > > Строку > @="c:\\windows\\icons\\scalc.ico" > я получил экспортом из regedit > Выяснилось что при экспорте из [HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Titles] проявляется эта ошибка. Не экранируются '\' в имени переменной. Например: В wine: [HKEY_CLASSES_ROOT\.aaa\1] "test\123"="c:\\program files" В windows: [HKEY_CLASSES_ROOT\.aaa\1] "test\\123"="c:\\program files" Ошибка - в функции export_hkey(). Именем ключа может быть строка, содержащая '\', а в export_hkey() имя ключа записывается обычным копированием. Экранирование спецсимволов реализовано только для значения ключа формата REG_SZ commit aff530ecbd1e0b0c0b5a569da0bbf4f960742d0b Author: Konstantin Kondratyuk <kondratyuk@etersoft.ru> Date: Mon Mar 23 10:43:55 2009 +0300 regedit: backslash escaping wine-etersoft-1.0.10-alt15 wine-etersoft-sql-1.0.10-alt10 Принято. Откатил патч: commit e3bfff0a6233dd7fac5931a3ad55ddd0b8144b62 Author: Konstantin Kondratyuk <kondratyuk@etersoft.ru> Date: Mon Mar 23 10:43:55 2009 +0300 regedit: backslash escaping В wine-pure появился очень похожий патч. Возможно он исправляет проблему. Author: Andrew Eikum <aeikum@codeweavers.com> Date: Mon Jun 7 16:07:48 2010 -0500 regedit: Escape the value name portion during export. Требуется проверить. 1.0.12-eter7.42/15 Проблемы нет. (В ответ на comment #16) > 1.0.12-eter7.42/15 > > Проблемы нет. В 1.0.12 естественно работает. Еще раз, для тех кто в танке: "Все баги которые блокируют багу 5618 нужно проверять на WINE@Etersoft eterhack". В школьном все в порядке School 1.7.0-eter1/4 Закрываю. |