Unverified Commit 05aabb4e authored by Mike Gabriel's avatar Mike Gabriel

Merge branch 'uli42-pr/fix_validatestring' into 3.6.x

parents 96e25560 06bb154d
...@@ -133,6 +133,4 @@ typedef XID KeySym64; ...@@ -133,6 +133,4 @@ typedef XID KeySym64;
#undef KeySym #undef KeySym
#endif /*_XSERVER64_tmp*/ #endif /*_XSERVER64_tmp*/
#define validateString(string) ((string) ? (string) : "(null)")
#endif /* __Agent_H__ */ #endif /* __Agent_H__ */
...@@ -70,6 +70,7 @@ is" without express or implied warranty. ...@@ -70,6 +70,7 @@ is" without express or implied warranty.
#include "Handlers.h" #include "Handlers.h"
#include "Error.h" #include "Error.h"
#include "Reconnect.h" #include "Reconnect.h"
#include "Utils.h"
/* /*
* NX includes and definitions. * NX includes and definitions.
......
...@@ -51,6 +51,7 @@ ...@@ -51,6 +51,7 @@
#include "Handlers.h" #include "Handlers.h"
#include "Events.h" #include "Events.h"
#include "Drawable.h" #include "Drawable.h"
#include "Utils.h"
/* /*
* Need to include this after the stub * Need to include this after the stub
......
...@@ -57,6 +57,7 @@ is" without express or implied warranty. ...@@ -57,6 +57,7 @@ is" without express or implied warranty.
#include "Reconnect.h" #include "Reconnect.h"
#include "Args.h" #include "Args.h"
#include "Utils.h"
#include "compext/Compext.h" #include "compext/Compext.h"
#include <nx/NXalert.h> #include <nx/NXalert.h>
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
#include "Pixmaps.h" #include "Pixmaps.h"
#include "Atoms.h" #include "Atoms.h"
#include "Trap.h" #include "Trap.h"
#include "Utils.h"
#include "compext/Compext.h" #include "compext/Compext.h"
......
...@@ -48,4 +48,8 @@ ...@@ -48,4 +48,8 @@
#define MAX(A, B) ( (A) > (B) ? (A) : (B) ); #define MAX(A, B) ( (A) > (B) ? (A) : (B) );
#endif #endif
static inline const char * validateString(const char *str) {
return str ? str : "(null)";
}
#endif /* __Utils_H__ */ #endif /* __Utils_H__ */
...@@ -236,11 +236,6 @@ extern Bool XkbLookupGroupAndLevel( ...@@ -236,11 +236,6 @@ extern Bool XkbLookupGroupAndLevel(
/***====================================================================***/ /***====================================================================***/
extern char * XkbAtomGetString(
Display * /* dpy */,
Atom /* atm */
);
extern Atom XkbInternAtom( extern Atom XkbInternAtom(
Display * /* dpy */, Display * /* dpy */,
char * /* name */, char * /* name */,
......
...@@ -985,10 +985,6 @@ extern XkbGeometryPtr XkbLookupNamedGeometry( ...@@ -985,10 +985,6 @@ extern XkbGeometryPtr XkbLookupNamedGeometry(
Bool * /* shouldFree */ Bool * /* shouldFree */
); );
extern char * _XkbDupString(
char * /* str */
);
extern void XkbConvertCase( extern void XkbConvertCase(
KeySym /* sym */, KeySym /* sym */,
KeySym * /* lower */, KeySym * /* lower */,
...@@ -1180,8 +1176,6 @@ extern int _XkbStrCaseCmp( ...@@ -1180,8 +1176,6 @@ extern int _XkbStrCaseCmp(
_XFUNCPROTOEND _XFUNCPROTOEND
#define XkbAtomGetString(d,s) NameForAtom(s)
#endif /* _XKBSRV_H_ */ #endif /* _XKBSRV_H_ */
...@@ -187,7 +187,7 @@ XkbConfigRtrnPtr rtrn; ...@@ -187,7 +187,7 @@ XkbConfigRtrnPtr rtrn;
} }
if (rtrn->symbols!=NULL) { if (rtrn->symbols!=NULL) {
if (rtrn->phys_symbols==NULL) if (rtrn->phys_symbols==NULL)
rtrn->phys_symbols= _XkbDupString(names->symbols); rtrn->phys_symbols= Xstrdup(names->symbols);
if (names->symbols) _XkbFree(names->symbols); if (names->symbols) _XkbFree(names->symbols);
names->symbols= rtrn->symbols; names->symbols= rtrn->symbols;
rtrn->symbols= NULL; rtrn->symbols= NULL;
......
...@@ -542,8 +542,8 @@ char *cmd = NULL,file[PATH_MAX],xkm_output_dir[PATH_MAX],*map,*outFile; ...@@ -542,8 +542,8 @@ char *cmd = NULL,file[PATH_MAX],xkm_output_dir[PATH_MAX],*map,*outFile;
} }
} }
if ((outFile= strrchr(file,'/'))!=NULL) if ((outFile= strrchr(file,'/'))!=NULL)
outFile= _XkbDupString(&outFile[1]); outFile= Xstrdup(&outFile[1]);
else outFile= _XkbDupString(file); else outFile= Xstrdup(file);
XkbEnsureSafeMapName(outFile); XkbEnsureSafeMapName(outFile);
OutputDirectory(xkm_output_dir, sizeof(xkm_output_dir)); OutputDirectory(xkm_output_dir, sizeof(xkm_output_dir));
......
...@@ -426,8 +426,8 @@ Bool append = False; ...@@ -426,8 +426,8 @@ Bool append = False;
} }
if (*words == '\0') if (*words == '\0')
return False; return False;
group->name = _XkbDupString(gname); group->name = Xstrdup(gname);
group->words = _XkbDupString(words); group->words = Xstrdup(words);
for (i = 1, words = group->words; *words; words++) { for (i = 1, words = group->words; *words; words++) {
if ( *words == ' ') { if ( *words == ' ') {
*words++ = '\0'; *words++ = '\0';
...@@ -478,17 +478,17 @@ Bool append = False; ...@@ -478,17 +478,17 @@ Bool append = False;
rule->flags|= XkbRF_Append; rule->flags|= XkbRF_Append;
else else
rule->flags|= XkbRF_Normal; rule->flags|= XkbRF_Normal;
rule->model= _XkbDupString(tmp.name[MODEL]); rule->model= Xstrdup(tmp.name[MODEL]);
rule->layout= _XkbDupString(tmp.name[LAYOUT]); rule->layout= Xstrdup(tmp.name[LAYOUT]);
rule->variant= _XkbDupString(tmp.name[VARIANT]); rule->variant= Xstrdup(tmp.name[VARIANT]);
rule->option= _XkbDupString(tmp.name[OPTION]); rule->option= Xstrdup(tmp.name[OPTION]);
rule->keycodes= _XkbDupString(tmp.name[KEYCODES]); rule->keycodes= Xstrdup(tmp.name[KEYCODES]);
rule->symbols= _XkbDupString(tmp.name[SYMBOLS]); rule->symbols= Xstrdup(tmp.name[SYMBOLS]);
rule->types= _XkbDupString(tmp.name[TYPES]); rule->types= Xstrdup(tmp.name[TYPES]);
rule->compat= _XkbDupString(tmp.name[COMPAT]); rule->compat= Xstrdup(tmp.name[COMPAT]);
rule->geometry= _XkbDupString(tmp.name[GEOMETRY]); rule->geometry= Xstrdup(tmp.name[GEOMETRY]);
rule->keymap= _XkbDupString(tmp.name[KEYMAP]); rule->keymap= Xstrdup(tmp.name[KEYMAP]);
rule->layout_num = rule->variant_num = 0; rule->layout_num = rule->variant_num = 0;
for (i = 0; i < nread; i++) { for (i = 0; i < nread; i++) {
...@@ -533,7 +533,7 @@ MakeMultiDefs(XkbRF_MultiDefsPtr mdefs, XkbRF_VarDefsPtr defs) ...@@ -533,7 +533,7 @@ MakeMultiDefs(XkbRF_MultiDefsPtr mdefs, XkbRF_VarDefsPtr defs)
bzero((char *)mdefs,sizeof(XkbRF_MultiDefsRec)); bzero((char *)mdefs,sizeof(XkbRF_MultiDefsRec));
mdefs->model = defs->model; mdefs->model = defs->model;
mdefs->options = _XkbDupString(defs->options); mdefs->options = Xstrdup(defs->options);
if (mdefs->options) squeeze_spaces(mdefs->options); if (mdefs->options) squeeze_spaces(mdefs->options);
if (defs->layout) { if (defs->layout) {
...@@ -542,7 +542,7 @@ MakeMultiDefs(XkbRF_MultiDefsPtr mdefs, XkbRF_VarDefsPtr defs) ...@@ -542,7 +542,7 @@ MakeMultiDefs(XkbRF_MultiDefsPtr mdefs, XkbRF_VarDefsPtr defs)
} else { } else {
char *p; char *p;
int i; int i;
mdefs->layout[1] = _XkbDupString(defs->layout); mdefs->layout[1] = Xstrdup(defs->layout);
if (mdefs->layout[1] == NULL) if (mdefs->layout[1] == NULL)
return False; return False;
squeeze_spaces(mdefs->layout[1]); squeeze_spaces(mdefs->layout[1]);
...@@ -566,7 +566,7 @@ MakeMultiDefs(XkbRF_MultiDefsPtr mdefs, XkbRF_VarDefsPtr defs) ...@@ -566,7 +566,7 @@ MakeMultiDefs(XkbRF_MultiDefsPtr mdefs, XkbRF_VarDefsPtr defs)
} else { } else {
char *p; char *p;
int i; int i;
mdefs->variant[1] = _XkbDupString(defs->variant); mdefs->variant[1] = Xstrdup(defs->variant);
if (mdefs->variant[1] == NULL) if (mdefs->variant[1] == NULL)
return False; return False;
squeeze_spaces(mdefs->variant[1]); squeeze_spaces(mdefs->variant[1]);
...@@ -602,7 +602,7 @@ Apply(char *src, char **dst) ...@@ -602,7 +602,7 @@ Apply(char *src, char **dst)
*dst= _Concat(*dst, src); *dst= _Concat(*dst, src);
} else { } else {
if (*dst == NULL) if (*dst == NULL)
*dst= _XkbDupString(src); *dst= Xstrdup(src);
} }
} }
} }
...@@ -1045,8 +1045,8 @@ XkbRF_AddVarDescCopy(XkbRF_DescribeVarsPtr vars,XkbRF_VarDescPtr from) ...@@ -1045,8 +1045,8 @@ XkbRF_AddVarDescCopy(XkbRF_DescribeVarsPtr vars,XkbRF_VarDescPtr from)
XkbRF_VarDescPtr nd; XkbRF_VarDescPtr nd;
if ((nd=XkbRF_AddVarDesc(vars))!=NULL) { if ((nd=XkbRF_AddVarDesc(vars))!=NULL) {
nd->name= _XkbDupString(from->name); nd->name= Xstrdup(from->name);
nd->desc= _XkbDupString(from->desc); nd->desc= Xstrdup(from->desc);
} }
return nd; return nd;
} }
...@@ -1074,7 +1074,7 @@ XkbRF_AddVarToDescribe(XkbRF_RulesPtr rules,char *name) ...@@ -1074,7 +1074,7 @@ XkbRF_AddVarToDescribe(XkbRF_RulesPtr rules,char *name)
rules->extra= NULL; rules->extra= NULL;
return NULL; return NULL;
} }
rules->extra_names[rules->num_extra]= _XkbDupString(name); rules->extra_names[rules->num_extra]= Xstrdup(name);
bzero(&rules->extra[rules->num_extra],sizeof(XkbRF_DescribeVarsRec)); bzero(&rules->extra[rules->num_extra],sizeof(XkbRF_DescribeVarsRec));
return &rules->extra[rules->num_extra++]; return &rules->extra[rules->num_extra++];
} }
......
...@@ -5164,17 +5164,17 @@ ProcXkbGetKbdByName(ClientPtr client) ...@@ -5164,17 +5164,17 @@ ProcXkbGetKbdByName(ClientPtr client)
if (!names.keymap) { if (!names.keymap) {
if ((!names.compat)&& if ((!names.compat)&&
(fwant&(XkbGBN_CompatMapMask|XkbGBN_IndicatorMapMask))) { (fwant&(XkbGBN_CompatMapMask|XkbGBN_IndicatorMapMask))) {
names.compat= _XkbDupString("%"); names.compat= Xstrdup("%");
} }
if ((!names.types)&&(fwant&(XkbGBN_TypesMask))) { if ((!names.types)&&(fwant&(XkbGBN_TypesMask))) {
names.types= _XkbDupString("%"); names.types= Xstrdup("%");
} }
if ((!names.symbols)&&(fwant&XkbGBN_SymbolsMask)) { if ((!names.symbols)&&(fwant&XkbGBN_SymbolsMask)) {
names.symbols= _XkbDupString("%"); names.symbols= Xstrdup("%");
} }
geom_changed= ((names.geometry!=NULL)&&(strcmp(names.geometry,"%")!=0)); geom_changed= ((names.geometry!=NULL)&&(strcmp(names.geometry,"%")!=0));
if ((!names.geometry)&&(fwant&XkbGBN_GeometryMask)) { if ((!names.geometry)&&(fwant&XkbGBN_GeometryMask)) {
names.geometry= _XkbDupString("%"); names.geometry= Xstrdup("%");
geom_changed= False; geom_changed= False;
} }
} }
......
...@@ -229,16 +229,16 @@ XkbSetRulesUsed(XkbRF_VarDefsPtr defs) ...@@ -229,16 +229,16 @@ XkbSetRulesUsed(XkbRF_VarDefsPtr defs)
{ {
if (XkbModelUsed) if (XkbModelUsed)
_XkbFree(XkbModelUsed); _XkbFree(XkbModelUsed);
XkbModelUsed= (defs->model?_XkbDupString(defs->model):NULL); XkbModelUsed= (defs->model?Xstrdup(defs->model):NULL);
if (XkbLayoutUsed) if (XkbLayoutUsed)
_XkbFree(XkbLayoutUsed); _XkbFree(XkbLayoutUsed);
XkbLayoutUsed= (defs->layout?_XkbDupString(defs->layout):NULL); XkbLayoutUsed= (defs->layout?Xstrdup(defs->layout):NULL);
if (XkbVariantUsed) if (XkbVariantUsed)
_XkbFree(XkbVariantUsed); _XkbFree(XkbVariantUsed);
XkbVariantUsed= (defs->variant?_XkbDupString(defs->variant):NULL); XkbVariantUsed= (defs->variant?Xstrdup(defs->variant):NULL);
if (XkbOptionsUsed) if (XkbOptionsUsed)
_XkbFree(XkbOptionsUsed); _XkbFree(XkbOptionsUsed);
XkbOptionsUsed= (defs->options?_XkbDupString(defs->options):NULL); XkbOptionsUsed= (defs->options?Xstrdup(defs->options):NULL);
if (XkbWantRulesProp) if (XkbWantRulesProp)
QueueWorkProc(XkbWriteRulesProp,NULL,NULL); QueueWorkProc(XkbWriteRulesProp,NULL,NULL);
return; return;
...@@ -250,27 +250,27 @@ XkbSetRulesDflts(char *rulesFile,char *model,char *layout, ...@@ -250,27 +250,27 @@ XkbSetRulesDflts(char *rulesFile,char *model,char *layout,
{ {
if (XkbRulesFile) if (XkbRulesFile)
_XkbFree(XkbRulesFile); _XkbFree(XkbRulesFile);
XkbRulesFile= _XkbDupString(rulesFile); XkbRulesFile= Xstrdup(rulesFile);
rulesDefined= True; rulesDefined= True;
if (model) { if (model) {
if (XkbModelDflt) if (XkbModelDflt)
_XkbFree(XkbModelDflt); _XkbFree(XkbModelDflt);
XkbModelDflt= _XkbDupString(model); XkbModelDflt= Xstrdup(model);
} }
if (layout) { if (layout) {
if (XkbLayoutDflt) if (XkbLayoutDflt)
_XkbFree(XkbLayoutDflt); _XkbFree(XkbLayoutDflt);
XkbLayoutDflt= _XkbDupString(layout); XkbLayoutDflt= Xstrdup(layout);
} }
if (variant) { if (variant) {
if (XkbVariantDflt) if (XkbVariantDflt)
_XkbFree(XkbVariantDflt); _XkbFree(XkbVariantDflt);
XkbVariantDflt= _XkbDupString(variant); XkbVariantDflt= Xstrdup(variant);
} }
if (options) { if (options) {
if (XkbOptionsDflt) if (XkbOptionsDflt)
_XkbFree(XkbOptionsDflt); _XkbFree(XkbOptionsDflt);
XkbOptionsDflt= _XkbDupString(options); XkbOptionsDflt= Xstrdup(options);
} }
return; return;
} }
...@@ -637,12 +637,12 @@ XkbRF_VarDefsRec defs; ...@@ -637,12 +637,12 @@ XkbRF_VarDefsRec defs;
* generation. Eventually they will be freed at the end of this * generation. Eventually they will be freed at the end of this
* function. * function.
*/ */
if (names->keymap) names->keymap = _XkbDupString(names->keymap); if (names->keymap) names->keymap = Xstrdup(names->keymap);
if (names->keycodes) names->keycodes = _XkbDupString(names->keycodes); if (names->keycodes) names->keycodes = Xstrdup(names->keycodes);
if (names->types) names->types = _XkbDupString(names->types); if (names->types) names->types = Xstrdup(names->types);
if (names->compat) names->compat = _XkbDupString(names->compat); if (names->compat) names->compat = Xstrdup(names->compat);
if (names->geometry) names->geometry = _XkbDupString(names->geometry); if (names->geometry) names->geometry = Xstrdup(names->geometry);
if (names->symbols) names->symbols = _XkbDupString(names->symbols); if (names->symbols) names->symbols = Xstrdup(names->symbols);
if (defs.model && defs.layout && rules) { if (defs.model && defs.layout && rules) {
XkbComponentNamesRec rNames; XkbComponentNamesRec rNames;
......
...@@ -363,7 +363,7 @@ XkbCFAddModByName( XkbConfigRtrnPtr rtrn, ...@@ -363,7 +363,7 @@ XkbCFAddModByName( XkbConfigRtrnPtr rtrn,
last->merge= merge; last->merge= merge;
last->name= NULL; last->name= NULL;
} }
last->name= _XkbDupString(name); last->name= Xstrdup(name);
} }
return last; return last;
} }
...@@ -487,7 +487,7 @@ unsigned what; ...@@ -487,7 +487,7 @@ unsigned what;
} }
if (*str!=NULL) if (*str!=NULL)
_XkbFree(*str); _XkbFree(*str);
*str= _XkbDupString(val.str); *str= Xstrdup(val.str);
break; break;
case _XkbCF_InitialMods: case _XkbCF_InitialMods:
case _XkbCF_IgnoreLockMods: case _XkbCF_IgnoreLockMods:
...@@ -1046,7 +1046,7 @@ DefaultFinish( XkbConfigFieldsPtr fields, ...@@ -1046,7 +1046,7 @@ DefaultFinish( XkbConfigFieldsPtr fields,
return DefaultCleanUp(rtrn); return DefaultCleanUp(rtrn);
if (what==XkbCF_Check) { if (what==XkbCF_Check) {
if ((rtrn->symbols==NULL)&&(rtrn->phys_symbols!=NULL)) if ((rtrn->symbols==NULL)&&(rtrn->phys_symbols!=NULL))
rtrn->symbols= _XkbDupString(rtrn->phys_symbols); rtrn->symbols= Xstrdup(rtrn->phys_symbols);
} }
if ((what==XkbCF_Apply)||(what==XkbCF_Check)) { if ((what==XkbCF_Apply)||(what==XkbCF_Check)) {
if (xkb && xkb->names && (rtrn->num_unbound_mods>0)) if (xkb && xkb->names && (rtrn->num_unbound_mods>0))
......
...@@ -265,7 +265,8 @@ XkbWriteXKBKeymapForNames( FILE * file, ...@@ -265,7 +265,8 @@ XkbWriteXKBKeymapForNames( FILE * file,
unsigned want, unsigned want,
unsigned need) unsigned need)
{ {
char * name,*tmp; char * name;
const char * tmp;
unsigned complete; unsigned complete;
XkbNamesPtr old_names; XkbNamesPtr old_names;
int multi_section; int multi_section;
...@@ -333,8 +334,8 @@ XkbFileInfo finfo; ...@@ -333,8 +334,8 @@ XkbFileInfo finfo;
if ((xkb!=NULL) && (old_names!=NULL)) { if ((xkb!=NULL) && (old_names!=NULL)) {
if (wantNames&XkmTypesMask) { if (wantNames&XkmTypesMask) {
if (old_names->types!=None) { if (old_names->types!=None) {
tmp= XkbAtomGetString(dpy,old_names->types); tmp= NameForAtom(old_names->types);
names->types= _XkbDupString(tmp); names->types= Xstrdup(tmp);
} }
else { else {
wantDflts|= XkmTypesMask; wantDflts|= XkmTypesMask;
...@@ -343,8 +344,8 @@ XkbFileInfo finfo; ...@@ -343,8 +344,8 @@ XkbFileInfo finfo;
} }
if (wantNames&XkmCompatMapMask) { if (wantNames&XkmCompatMapMask) {
if (old_names->compat!=None) { if (old_names->compat!=None) {
tmp= XkbAtomGetString(dpy,old_names->compat); tmp= NameForAtom(old_names->compat);
names->compat= _XkbDupString(tmp); names->compat= Xstrdup(tmp);
} }
else wantDflts|= XkmCompatMapMask; else wantDflts|= XkmCompatMapMask;
complete|= XkmCompatMapMask; complete|= XkmCompatMapMask;
...@@ -352,14 +353,14 @@ XkbFileInfo finfo; ...@@ -352,14 +353,14 @@ XkbFileInfo finfo;
if (wantNames&XkmSymbolsMask) { if (wantNames&XkmSymbolsMask) {
if (old_names->symbols==None) if (old_names->symbols==None)
return False; return False;
tmp= XkbAtomGetString(dpy,old_names->symbols); tmp= NameForAtom(old_names->symbols);
names->symbols= _XkbDupString(tmp); names->symbols= Xstrdup(tmp);
complete|= XkmSymbolsMask; complete|= XkmSymbolsMask;
} }
if (wantNames&XkmKeyNamesMask) { if (wantNames&XkmKeyNamesMask) {
if (old_names->keycodes!=None) { if (old_names->keycodes!=None) {
tmp= XkbAtomGetString(dpy,old_names->keycodes); tmp= NameForAtom(old_names->keycodes);
names->keycodes= _XkbDupString(tmp); names->keycodes= Xstrdup(tmp);
} }
else wantDflts|= XkmKeyNamesMask; else wantDflts|= XkmKeyNamesMask;
complete|= XkmKeyNamesMask; complete|= XkmKeyNamesMask;
...@@ -367,8 +368,8 @@ XkbFileInfo finfo; ...@@ -367,8 +368,8 @@ XkbFileInfo finfo;
if (wantNames&XkmGeometryMask) { if (wantNames&XkmGeometryMask) {
if (old_names->geometry==None) if (old_names->geometry==None)
return False; return False;
tmp= XkbAtomGetString(dpy,old_names->geometry); tmp= NameForAtom(old_names->geometry);
names->geometry= _XkbDupString(tmp); names->geometry= Xstrdup(tmp);
complete|= XkmGeometryMask; complete|= XkmGeometryMask;
wantNames&= ~XkmGeometryMask; wantNames&= ~XkmGeometryMask;
} }
......
...@@ -250,7 +250,7 @@ WriteXKBIndicatorMap( FILE * file, ...@@ -250,7 +250,7 @@ WriteXKBIndicatorMap( FILE * file,
XkbDescPtr xkb; XkbDescPtr xkb;
xkb= result->xkb; xkb= result->xkb;
fprintf(file," indicator \"%s\" {\n",XkbAtomGetString(xkb->dpy,name)); fprintf(file," indicator \"%s\" {\n",NameForAtom(name));
if (led->flags&XkbIM_NoExplicit) if (led->flags&XkbIM_NoExplicit)
fprintf(file," !allowExplicit;\n"); fprintf(file," !allowExplicit;\n");
if (led->flags&XkbIM_LEDDrivesKB) if (led->flags&XkbIM_LEDDrivesKB)
......
...@@ -75,7 +75,7 @@ XkbAtomText(Display *dpy,Atom atm,unsigned format) ...@@ -75,7 +75,7 @@ XkbAtomText(Display *dpy,Atom atm,unsigned format)
{ {
char *rtrn,*tmp; char *rtrn,*tmp;
tmp= (char *)XkbAtomGetString(dpy,atm); tmp= (char *)NameForAtom(atm);
if (tmp!=NULL) { if (tmp!=NULL) {
int len; int len;
len= strlen(tmp)+1; len= strlen(tmp)+1;
...@@ -118,7 +118,7 @@ char numBuf[20]; ...@@ -118,7 +118,7 @@ char numBuf[20];
if (ndx>=XkbNumVirtualMods) if (ndx>=XkbNumVirtualMods)
tmp= "illegal"; tmp= "illegal";
else if (vmodNames&&(vmodNames[ndx]!=None)) else if (vmodNames&&(vmodNames[ndx]!=None))
tmp= (char *)XkbAtomGetString(dpy,vmodNames[ndx]); tmp= (char *)NameForAtom(vmodNames[ndx]);
if (tmp==NULL) if (tmp==NULL)
sprintf(tmp=numBuf,"%d",ndx); sprintf(tmp=numBuf,"%d",ndx);
......
...@@ -58,19 +58,6 @@ XkbInternAtom(Display *dpy,char *str,Bool only_if_exists) ...@@ -58,19 +58,6 @@ XkbInternAtom(Display *dpy,char *str,Bool only_if_exists)
#define SEEK_SET 0 #define SEEK_SET 0
#endif #endif
char *
_XkbDupString(char *str)
{
char *new;
if (str==NULL)
return NULL;
new= (char *)_XkbCalloc(strlen(str)+1,sizeof(char));
if (new)
strcpy(new,str);
return new;
}
/***====================================================================***/ /***====================================================================***/
static XPointer static XPointer
...@@ -774,9 +761,9 @@ int nRead=0; ...@@ -774,9 +761,9 @@ int nRead=0;
doodad->text.height= doodadWire.text.height; doodad->text.height= doodadWire.text.height;
doodad->text.color_ndx= doodadWire.text.color_ndx; doodad->text.color_ndx= doodadWire.text.color_ndx;
nRead+= XkmGetCountedString(file,buf,100); nRead+= XkmGetCountedString(file,buf,100);
doodad->text.text= _XkbDupString(buf); doodad->text.text= Xstrdup(buf);
nRead+= XkmGetCountedString(file,buf,100); nRead+= XkmGetCountedString(file,buf,100);
doodad->text.font= _XkbDupString(buf); doodad->text.font= Xstrdup(buf);
break; break;
case XkbIndicatorDoodad: case XkbIndicatorDoodad:
doodad->indicator.shape_ndx= doodadWire.indicator.shape_ndx; doodad->indicator.shape_ndx= doodadWire.indicator.shape_ndx;
...@@ -788,7 +775,7 @@ int nRead=0; ...@@ -788,7 +775,7 @@ int nRead=0;
doodad->logo.color_ndx= doodadWire.logo.color_ndx; doodad->logo.color_ndx= doodadWire.logo.color_ndx;
doodad->logo.shape_ndx= doodadWire.logo.shape_ndx; doodad->logo.shape_ndx= doodadWire.logo.shape_ndx;
nRead+= XkmGetCountedString(file,buf,100); nRead+= XkmGetCountedString(file,buf,100);
doodad->logo.logo_name= _XkbDupString(buf); doodad->logo.logo_name= Xstrdup(buf);
break; break;
default: default:
/* report error? */ /* report error? */
...@@ -952,7 +939,7 @@ XkbGeometrySizesRec sizes; ...@@ -952,7 +939,7 @@ XkbGeometrySizesRec sizes;
geom->width_mm= wireGeom.width_mm; geom->width_mm= wireGeom.width_mm;
geom->height_mm= wireGeom.height_mm; geom->height_mm= wireGeom.height_mm;
nRead+= XkmGetCountedString(file,buf,100); nRead+= XkmGetCountedString(file,buf,100);
geom->label_font= _XkbDupString(buf); geom->label_font= Xstrdup(buf);
if (wireGeom.num_properties>0) { if (wireGeom.num_properties>0) {
char val[1024]; char val[1024];
for (i=0;i<wireGeom.num_properties;i++) { for (i=0;i<wireGeom.num_properties;i++) {
...@@ -1211,7 +1198,7 @@ char name[100]; ...@@ -1211,7 +1198,7 @@ char name[100];
return 0; return 0;
} }
if (XkmGetCountedString(file,name,100)>0) if (XkmGetCountedString(file,name,100)>0)
return _XkbDupString(name); return Xstrdup(name);
break; break;
default: default:
_XkbLibError(_XkbErrBadImplementation, _XkbLibError(_XkbErrBadImplementation,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment