XkbKeyPtr XkbAddGeomKey(XkbRowPtr row) { XkbKeyPtr key; if (!row) return NULL; if ((row->num_keys>=row->sz_keys)&&(_XkbAllocKeys(row,1)!=Success)) return NULL; key= &row->keys[row->num_keys++]; bzero(key,sizeof(XkbKeyRec)); return key; }
XkbRowPtr XkbAddGeomRow(XkbSectionPtr section, int sz_keys) { XkbRowPtr row; if ((!section) || (sz_keys < 0)) return NULL; if ((section->num_rows >= section->sz_rows) && (_XkbAllocRows(section, 1) != Success)) return NULL; row = §ion->rows[section->num_rows]; memset(row, 0, sizeof(XkbRowRec)); if ((sz_keys > 0) && (_XkbAllocKeys(row, sz_keys) != Success)) return NULL; section->num_rows++; return row; }
Status XkbAllocGeomKeys(XkbRowPtr row,int nKeys) { return _XkbAllocKeys(row,nKeys); }