Atoms aren't mutable and this lets us put tbGetBuffer() back in the box.
#define _XkbDupString(s) ((s) ? strdup(s) : NULL)
#define _XkbStrCaseCmp strcasecmp
-extern char *tbGetBuffer(unsigned int len);
-
#endif /* _XKBCOMMONINT_H_ */
}
}
-static const char *
-_XkbcAtomGetString(uint32_t atom)
+const char *
+XkbcAtomText(uint32_t atom)
{
NodePtr node;
char *
XkbcAtomGetString(uint32_t atom)
{
- const char *ret = _XkbcAtomGetString(atom);
+ const char *ret = XkbcAtomText(atom);
return ret ? strdup(ret) : NULL;
}
-char *
-XkbcAtomText(uint32_t atom)
-{
- const char *tmp;
- char *ret;
-
- tmp = _XkbcAtomGetString(atom);
- if (!tmp)
- return "";
-
- ret = tbGetBuffer(strlen(tmp) + 1);
- if (!ret)
- return "";
-
- strcpy(ret, tmp);
- return ret;
-}
-
static uint32_t
_XkbcMakeAtom(const char *string, unsigned len, Bool makeit)
{
}
XkbcPropertyPtr
-XkbcAddGeomProperty(XkbcGeometryPtr geom,char *name,char *value)
+XkbcAddGeomProperty(XkbcGeometryPtr geom,const char *name,const char *value)
{
register int i;
register XkbcPropertyPtr prop;
}
XkbKeyAliasPtr
-XkbcAddGeomKeyAlias(XkbcGeometryPtr geom,char *aliasStr,char *realStr)
+XkbcAddGeomKeyAlias(XkbcGeometryPtr geom,const char *aliasStr,const char *realStr)
{
register int i;
register XkbKeyAliasPtr alias;
}
XkbcColorPtr
-XkbcAddGeomColor(XkbcGeometryPtr geom,char *spec,unsigned int pixel)
+XkbcAddGeomColor(XkbcGeometryPtr geom,const char *spec,unsigned int pixel)
{
register int i;
register XkbcColorPtr color;
XkbcOverlayKeyPtr
XkbcAddGeomOverlayKey( XkbcOverlayPtr overlay,
XkbcOverlayRowPtr row,
- char * over,
- char * under)
+ const char * over,
+ const char * under)
{
register int i;
XkbcOverlayKeyPtr key;
static char textBuffer[BUFFER_SIZE];
static int tbNext = 0;
-char *
+static char *
tbGetBuffer(unsigned int size)
{
char *rtrn;
/***====================================================================***/
static Bool
-stringToAction(char *str, unsigned *type_rtrn)
+stringToAction(const char *str, unsigned *type_rtrn)
{
if (str == NULL)
return False;
if (value->op == ExprIdent)
{
- register char *valStr;
+ const char *valStr;
valStr = XkbcAtomText(value->value.str);
if (valStr && ((uStrCaseCmp(valStr, "usemodmapmods") == 0) ||
(uStrCaseCmp(valStr, "modmapmods") == 0)))
struct xkb_any_action * action, unsigned mergeMode, ActionInfo * info)
{
ExprDef *arg;
- register char *str;
+ const char *str;
unsigned tmp, hndlrType;
if (!actionsInitialized)
*pred_rtrn = XkbSI_Exactly;
if (expr->op == ExprActionDecl)
{
- char *pred_txt = XkbcAtomText(expr->value.action.name);
+ const char *pred_txt = XkbcAtomText(expr->value.action.name);
if (uStrCaseCmp(pred_txt, "noneof") == 0)
*pred_rtrn = XkbSI_NoneOf;
else if (uStrCaseCmp(pred_txt, "anyofornone") == 0)
}
else if (expr->op == ExprIdent)
{
- char *pred_txt = XkbcAtomText(expr->value.str);
+ const char *pred_txt = XkbcAtomText(expr->value.str);
if ((pred_txt) && (uStrCaseCmp(pred_txt, "any") == 0))
{
*pred_rtrn = XkbSI_AnyOf;
uint32_t elem, uint32_t field, unsigned type, ExprResult * val_rtrn)
{
LookupEntry *entry;
- register char *str;
+ const char *str;
if ((priv == NULL) ||
(field == None) || (elem != None) ||
RadioLookup(char * priv,
uint32_t elem, uint32_t field, unsigned type, ExprResult * val_rtrn)
{
- register char *str;
+ const char *str;
int rg;
if ((field == None) || (elem != None) || (type != TypeInt))
uint32_t elem, uint32_t field, unsigned type, ExprResult * val_rtrn)
{
LookupTable *tbl = (LookupTable *) priv;
- register char *str;
+ const char *str;
if ((priv == NULL) || (field == None) || (type != TypeInt))
return False;
IdentLookupFunc lookup, char * lookupPriv)
{
int ok = 0;
- char *bogus = NULL;
+ const char *bogus = NULL;
switch (expr->op)
{
case ExprValue:
if (expr->type == TypeString)
{
- char *str;
+ const char *str;
str = XkbcAtomText(expr->value.str);
if ((str != NULL) && (strlen(str) == 1))
{
case ExprValue:
if (expr->type == TypeString)
{
- char *str;
+ const char *str;
str = XkbcAtomText(expr->value.str);
if (str != NULL)
switch (strlen(str))
if (expr->op == ExprIdent)
{
- char *str;
+ const char *str;
str = XkbcAtomText(expr->value.str);
if ((str != NULL) && ((sym = XkbcStringToKeysym(str)) != NoSymbol))
{
AliasInfo *aliases;
} GeometryInfo;
-static char *
+static const char *
ddText(DoodadInfo * di)
{
static char buf[64];
static int
SetShapeField(ShapeInfo * si,
- char *field,
+ const char *field,
ExprDef * arrayNdx, ExprDef * value, GeometryInfo * info)
{
ExprResult tmp;
}
if (ol->field != None)
{
- char *str = XkbcAtomText(ol->field);
+ const char *str = XkbcAtomText(ol->field);
if ((uStrCaseCmp(str, "approximation") == 0) ||
(uStrCaseCmp(str, "approx") == 0))
{
shText(si));
ACTION("Treated as a normal outline\n");
}
- free(str);
}
}
if (nOut != si->nOutlines)
if ((di->defs.defined & _GD_Height) == 0)
{
unsigned size, nLines;
- char *tmp;
+ const char *tmp;
size = (di->fontSize * 120) / 100;
size = (size * 254) / 720; /* convert to mm/10 */
for (nLines = 1, tmp = XkbcAtomText(di->text); *tmp; tmp++)
if ((di->defs.defined & _GD_Width) == 0)
{
unsigned width, tmp;
- char *str;
+ const char *str;
width = tmp = 0;
for (str = XkbcAtomText(di->text); *str; str++)
{
uint32_t setWidthTok, uint32_t varTok, int size, uint32_t encodingTok)
{
int totalSize;
- char *font, *weight, *slant, *setWidth, *variant, *encoding;
+ const char *font, *weight, *slant, *setWidth, *variant, *encoding;
char *rtrn;
font = (fontTok != None ? XkbcAtomText(fontTok) : DFLT_FONT);
{
if (warningLevel > 0)
{
- char *old, *new;
+ const char *old, *new;
old = XkbcAtomText(type->lvlNames[level]);
new = XkbcAtomText(name);
WARN("Multiple names for level %d of key type %s\n",
}
int
-ReportShouldBeArray(const char *type, const char *field, char *name)
+ReportShouldBeArray(const char *type, const char *field, const char *name)
{
ERROR("Missing subscript for %s %s\n", type, field);
ACTION("Ignoring illegal assignment in %s\n", name);
}
int
-ReportBadIndexType(char *type, char *field, char *name, char *wanted)
+ReportBadIndexType(const char *type, const char *field,
+ const char *name, const char *wanted)
{
ERROR("Index for the %s %s field must be a %s\n", type, field, wanted);
ACTION("Ignoring assignment to illegal field in %s\n", name);
}
int
-ReportMultipleDefs(char *type, char *field, char *name)
+ReportMultipleDefs(const char *type, const char *field, const char *name)
{
WARN("Multiple definitions of %s in %s \"%s\"\n", field, type, name);
ACTION("Using last definition\n");
extern int ReportShouldBeArray(const char * /* type */ ,
const char * /* field */ ,
- char * /* name */
+ const char * /* name */
);
extern int ReportBadType(const char * /* type */ ,
const char * /* wanted */
);
-extern int ReportBadIndexType(char * /* type */ ,
- char * /* field */ ,
- char * /* name */ ,
- char * /* wanted */
+extern int ReportBadIndexType(const char * /* type */ ,
+ const char * /* field */ ,
+ const char * /* name */ ,
+ const char * /* wanted */
);
extern int ReportBadField(const char * /* type */ ,
const char * /* name */
);
-extern int ReportMultipleDefs(char * /* type */ ,
- char * /* field */ ,
- char * /* which */
+extern int ReportMultipleDefs(const char * /* type */ ,
+ const char * /* field */ ,
+ const char * /* which */
);
extern Bool ProcessIncludeFile(IncludeStmt * /* stmt */ ,
return True;
else
{
- char *str1;
+ const char *str1;
const char *str2 = "";
if (!ExprResolveModMask(stmt->value, &mod, NULL, NULL))
{
XkbcAllocGeometry(XkbcDescPtr xkb, XkbcGeometrySizesPtr sizes);
extern XkbcPropertyPtr
-XkbcAddGeomProperty(XkbcGeometryPtr geom, char *name, char *value);
+XkbcAddGeomProperty(XkbcGeometryPtr geom, const char *name, const char *value);
extern XkbKeyAliasPtr
-XkbcAddGeomKeyAlias(XkbcGeometryPtr geom, char *aliasStr, char *realStr);
+XkbcAddGeomKeyAlias(XkbcGeometryPtr geom, const char *aliasStr, const char *realStr);
extern XkbcColorPtr
-XkbcAddGeomColor(XkbcGeometryPtr geom, char *spec, unsigned int pixel);
+XkbcAddGeomColor(XkbcGeometryPtr geom, const char *spec, unsigned int pixel);
extern XkbcOutlinePtr
XkbcAddGeomOutline(XkbcShapePtr shape, int sz_points);
extern XkbcOverlayKeyPtr
XkbcAddGeomOverlayKey(XkbcOverlayPtr overlay, XkbcOverlayRowPtr row,
- char *over, char *under);
+ const char *over, const char *under);
extern XkbcOverlayRowPtr
XkbcAddGeomOverlayRow(XkbcOverlayPtr overlay, int row_under, int sz_keys);
/***====================================================================***/
-extern char *
+extern const char *
XkbcAtomText(uint32_t atm);
extern char *