Edit

kc3-lang/libxkbcommon/src/xkbcomp/rules.h

Branch :

  • Show log

    Commit

  • Author : Ran Benita
    Date : 2025-01-25 03:18:01
    Hash : 113ac304
    Message : meson: link tests and benches against shared library, not static library This makes the tests, and especially benches, more realistic, since xkbcommon is almost always used as a shared library. Also significantly reduces the build time with LTO enabled (for me, from 90s to 30s). Signed-off-by: Ran Benita <ran@unusedvar.com>

  • src/xkbcomp/rules.h
  • /*
     * Copyright © 2009 Dan Nicholson
     * SPDX-License-Identifier: MIT
     */
    #pragma once
    
    #include <stdbool.h>
    
    #include "xkbcomp-priv.h"
    
    XKB_EXPORT_PRIVATE bool
    xkb_components_from_rules(struct xkb_context *ctx,
                              const struct xkb_rule_names *rmlvo,
                              struct xkb_component_names *out,
                              xkb_layout_index_t *explicit_layouts);
    
    /* Maximum length of a layout index string:
     * [NOTE] Currently XKB_MAX_GROUPS is 4, but the following code is
     * future-proof for all possible indexes.
     *
     * length = ceiling (bitsize(xkb_layout_index_t) * logBase 10 2)
     *        < ceiling (bitsize(xkb_layout_index_t) * 5 / 16)
     *        < 1 + floor (bitsize(xkb_layout_index_t) * 5 / 16)
     */
    #define MAX_LAYOUT_INDEX_STR_LENGTH \
            (1 + ((sizeof(xkb_layout_index_t) * CHAR_BIT * 5) >> 4))