Protect sscanfs with a "C" locale so that they still work with new

glibcs in a locale doesn't use a '.' as a decimal separator.
This commit is contained in:
Huw Davies 2004-11-28 14:59:13 +00:00 committed by Alexandre Julliard
parent e04da6bb72
commit a96a700cf2
1 changed files with 5 additions and 0 deletions

View File

@ -23,6 +23,7 @@
#include <stdarg.h> #include <stdarg.h>
#include <stdio.h> #include <stdio.h>
#include <ctype.h> #include <ctype.h>
#include <locale.h>
#include "windef.h" #include "windef.h"
#include "winbase.h" #include "winbase.h"
#include "wine/debug.h" #include "wine/debug.h"
@ -710,8 +711,10 @@ PPD *PSDRV_ParsePPD(char *fname)
#define PIA page->ImageableArea #define PIA page->ImageableArea
if(!PIA) { if(!PIA) {
PIA = HeapAlloc( PSDRV_Heap, 0, sizeof(*PIA) ); PIA = HeapAlloc( PSDRV_Heap, 0, sizeof(*PIA) );
push_lc_numeric("C");
sscanf(tuple.value, "%f%f%f%f", &PIA->llx, &PIA->lly, sscanf(tuple.value, "%f%f%f%f", &PIA->llx, &PIA->lly,
&PIA->urx, &PIA->ury); &PIA->urx, &PIA->ury);
pop_lc_numeric();
} }
#undef PIA #undef PIA
} }
@ -733,7 +736,9 @@ PPD *PSDRV_ParsePPD(char *fname)
#define PD page->PaperDimension #define PD page->PaperDimension
if(!PD) { if(!PD) {
PD = HeapAlloc( PSDRV_Heap, 0, sizeof(*PD) ); PD = HeapAlloc( PSDRV_Heap, 0, sizeof(*PD) );
push_lc_numeric("C");
sscanf(tuple.value, "%f%f", &PD->x, &PD->y); sscanf(tuple.value, "%f%f", &PD->x, &PD->y);
pop_lc_numeric();
} }
#undef PD #undef PD
} }