[Wine-devel] [Wine-patches] shell32: Tab About for eterhack (eterbug #6494)
Alexander Morozov
amorozov на etersoft.ru
Пн Сен 26 10:25:48 MSD 2011
-EXTRADEFS = -D_SHELL32_ -DCOM_NO_WINDOWS_H
+EXTRADEFS = -D_SHELL32_ -DCOM_NO_WINDOWS_H -D_FORTIFY_SOURCE=1
Зачем это?
+void add_etersoft_authors(HINSTANCE hInstance, HWND list , const WCHAR *authors )
+BOOL CALLBACK EtersoftLicenseDlgProc(HWND hDlg,UINT Message,WPARAM wParam,LPARAM lParam)
Надо, чтобы всё было в одном стиле.
+ //HINSTANCE hInst;
Такие закомментированные куски кода лучше удалить.
+ const WCHAR authors_etersoft[] = {'A','U','T','H','O','R','S','_','E','T','E','R','S','O','F','T',0};
Надо добавить static в начале.
+ //Create TabControl an title for them
Надо использовать комментарии вида /* */
+ char fn[1024];
Желательно использовать более говорящие имена переменных.
В качестве максимальной длины пути лучше использовать PATH_MAX, а не 1024.
+ while ((dwBytesRead = read(hFile,buf,1024))!=0)
+ dwFileSize += dwBytesRead;
+ hMem = GlobalAlloc(GHND,dwFileSize);
Для определения размера можно использовать fstat.
+ while ((dwBytesRead = read(hFile,(char*)pMem+dwFileSize,1024))!=0)
Если мы знаем размер файла и у нас есть буфер под него, можно прочитать весь файл за один вызов.
+ DialogBoxA(hInst, "EtersoftLicenseDlg", hWnd, (DLGPROC)(int(__stdcall*)())EtersoftLicenseDlgProc);
Зачем тут такое сложное приведение типов? Почему не сразу к DLGPROC?
+ WCHAR iexplore[]= {'i','e','x','p','l','o','r','e','.','e','x','e','\0'};
Надо доабавить static const в начало, и вместо '\0' в Wine везде используют 0.
Подробная информация о списке рассылки Wine-devel