Replace PROFILE_* functions by Reg*.
This commit is contained in:
parent
6ae29d6ac0
commit
043f64021d
|
@ -17,8 +17,8 @@
|
|||
# include <float.h> /* FLT_MAX */
|
||||
#endif
|
||||
#include "winnt.h" /* HEAP_ZERO_MEMORY */
|
||||
#include "winreg.h"
|
||||
#include "psdrv.h"
|
||||
#include "options.h"
|
||||
#include "debugtools.h"
|
||||
#include "heap.h"
|
||||
|
||||
|
@ -977,15 +977,23 @@ static BOOL PSDRV_ReadAFMDir(const char* afmdir) {
|
|||
|
||||
BOOL PSDRV_GetFontMetrics(void)
|
||||
{
|
||||
int idx = 0;
|
||||
int idx;
|
||||
char key[256];
|
||||
char value[256];
|
||||
HKEY hkey;
|
||||
DWORD type, key_len, value_len;
|
||||
|
||||
if (PSDRV_GlyphListInit() != 0)
|
||||
return FALSE;
|
||||
|
||||
while (PROFILE_EnumWineIniString( "afmfiles", idx++, key, sizeof(key),
|
||||
value, sizeof(value)))
|
||||
if(RegOpenKeyExA(HKEY_LOCAL_MACHINE, "Software\\Wine\\Wine\\Config\\afmfiles",
|
||||
0, KEY_READ, &hkey))
|
||||
goto no_afmfiles;
|
||||
|
||||
idx = 0;
|
||||
key_len = sizeof(key);
|
||||
value_len = sizeof(value);
|
||||
while(!RegEnumValueA(hkey, idx++, key, &key_len, NULL, &type, value, &value_len))
|
||||
{
|
||||
AFM* afm = PSDRV_AFMParse(value);
|
||||
|
||||
|
@ -995,18 +1003,44 @@ BOOL PSDRV_GetFontMetrics(void)
|
|||
PSDRV_ReencodeCharWidths(afm);
|
||||
}
|
||||
if (PSDRV_AddAFMtoList(&PSDRV_AFMFontList, afm) == FALSE) {
|
||||
RegCloseKey(hkey);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
else {
|
||||
WARN("Error parsing %s\n", value);
|
||||
}
|
||||
}
|
||||
|
||||
for (idx = 0; PROFILE_EnumWineIniString ("afmdirs", idx, key, sizeof (key),
|
||||
value, sizeof (value)); ++idx)
|
||||
/* initialize lengths for new iteration */
|
||||
key_len = sizeof(key);
|
||||
value_len = sizeof(value);
|
||||
}
|
||||
RegCloseKey(hkey);
|
||||
|
||||
no_afmfiles:
|
||||
|
||||
if(RegOpenKeyExA(HKEY_LOCAL_MACHINE, "Software\\Wine\\Wine\\Config\\afmdirs",
|
||||
0, KEY_READ, &hkey))
|
||||
goto no_afmdirs;
|
||||
|
||||
idx = 0;
|
||||
key_len = sizeof(key);
|
||||
value_len = sizeof(value);
|
||||
while(!RegEnumValueA(hkey, idx++, key, &key_len, NULL, &type, value, &value_len))
|
||||
{
|
||||
if (PSDRV_ReadAFMDir (value) == FALSE)
|
||||
{
|
||||
RegCloseKey(hkey);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* initialize lengths for new iteration */
|
||||
key_len = sizeof(key);
|
||||
value_len = sizeof(value);
|
||||
}
|
||||
RegCloseKey(hkey);
|
||||
|
||||
no_afmdirs:
|
||||
|
||||
PSDRV_IndexGlyphList(); /* So SortFontMetrics will work */
|
||||
if (SortFontMetrics() == FALSE)
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
#include "winreg.h"
|
||||
#include "winspool.h"
|
||||
#include "winerror.h"
|
||||
#include "options.h"
|
||||
|
||||
#ifdef HAVE_CUPS
|
||||
# include <cups/cups.h>
|
||||
|
@ -468,6 +467,7 @@ PRINTERINFO *PSDRV_FindPrinterInfo(LPCSTR name)
|
|||
HANDLE hPrinter;
|
||||
const char *ppd = NULL;
|
||||
char ppdFileName[256];
|
||||
HKEY hkey;
|
||||
|
||||
TRACE("'%s'\n", name);
|
||||
|
||||
|
@ -538,10 +538,16 @@ PRINTERINFO *PSDRV_FindPrinterInfo(LPCSTR name)
|
|||
/* Look for a ppd file for this printer in the config file.
|
||||
* First look for the names of the printer, then for 'generic'
|
||||
*/
|
||||
if ((res!=ERROR_SUCCESS) &&
|
||||
!PROFILE_GetWineIniString("ppd",name,"",ppdFileName,sizeof(ppdFileName)) &&
|
||||
!PROFILE_GetWineIniString("ppd","generic","",ppdFileName,sizeof(ppdFileName))
|
||||
)
|
||||
if((res != ERROR_SUCCESS) && !RegOpenKeyA(HKEY_LOCAL_MACHINE, "Software\\Wine\\Wine\\Config\\ppd", &hkey))
|
||||
{
|
||||
DWORD count = sizeof(ppdFileName);
|
||||
ppdFileName[0] = 0;
|
||||
if(RegQueryValueExA(hkey, name, 0, &type, ppdFileName, &count) != ERROR_SUCCESS)
|
||||
RegQueryValueExA(hkey, "generic", 0, &type, ppdFileName, &count);
|
||||
RegCloseKey(hkey);
|
||||
}
|
||||
|
||||
if(!ppdFileName[0])
|
||||
res = ERROR_FILE_NOT_FOUND;
|
||||
else
|
||||
res = ERROR_SUCCESS;
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
#include <stdio.h>
|
||||
|
||||
#include "winnt.h"
|
||||
#include "options.h"
|
||||
#include "winreg.h"
|
||||
#include "psdrv.h"
|
||||
#include "debugtools.h"
|
||||
#include "heap.h"
|
||||
|
@ -558,11 +558,13 @@ static BOOL ReadTrueTypeFile(LPCSTR filename)
|
|||
* that event.
|
||||
*
|
||||
*/
|
||||
BOOL PSDRV_GetTrueTypeMetrics()
|
||||
BOOL PSDRV_GetTrueTypeMetrics(void)
|
||||
{
|
||||
CHAR keybuf[256], namebuf[256];
|
||||
INT i = 0;
|
||||
FT_Error error;
|
||||
HKEY hkey;
|
||||
DWORD type, key_len, name_len;
|
||||
|
||||
error = FT_Init_FreeType(&library);
|
||||
if (error != FT_Err_Ok)
|
||||
|
@ -571,8 +573,13 @@ BOOL PSDRV_GetTrueTypeMetrics()
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
while (PROFILE_EnumWineIniString("TrueType Font Directories", i++, keybuf,
|
||||
sizeof(keybuf), namebuf, sizeof(namebuf)))
|
||||
if(RegOpenKeyExA(HKEY_LOCAL_MACHINE, "Software\\Wine\\Wine\\Config\\TrueType Font Directories",
|
||||
0, KEY_READ, &hkey))
|
||||
goto no_metrics;
|
||||
|
||||
key_len = sizeof(keybuf);
|
||||
name_len = sizeof(namebuf);
|
||||
while(!RegEnumValueA(hkey, i++, keybuf, &key_len, NULL, &type, namebuf, &name_len))
|
||||
{
|
||||
struct dirent *dent;
|
||||
DIR *dir;
|
||||
|
@ -614,14 +621,21 @@ BOOL PSDRV_GetTrueTypeMetrics()
|
|||
{
|
||||
ERR("Error reading '%s'\n", namebuf);
|
||||
closedir(dir);
|
||||
RegCloseKey(hkey);
|
||||
FT_Done_FreeType(library);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
closedir(dir);
|
||||
|
||||
/* initialize lengths for new iteration */
|
||||
key_len = sizeof(keybuf);
|
||||
name_len = sizeof(namebuf);
|
||||
}
|
||||
|
||||
RegCloseKey(hkey);
|
||||
|
||||
no_metrics:
|
||||
FT_Done_FreeType(library);
|
||||
return TRUE;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue