Lines Matching full:table
27 #include "table.h"
38 struct xkb_compose_table *table; in xkb_compose_table_new() local
45 table = calloc(1, sizeof(*table)); in xkb_compose_table_new()
46 if (!table) { in xkb_compose_table_new()
51 table->refcnt = 1; in xkb_compose_table_new()
52 table->ctx = xkb_context_ref(ctx); in xkb_compose_table_new()
54 table->locale = resolved_locale; in xkb_compose_table_new()
55 table->format = format; in xkb_compose_table_new()
56 table->flags = flags; in xkb_compose_table_new()
58 darray_init(table->nodes); in xkb_compose_table_new()
59 darray_init(table->utf8); in xkb_compose_table_new()
65 darray_append(table->nodes, dummy); in xkb_compose_table_new()
67 darray_append(table->utf8, '\0'); in xkb_compose_table_new()
69 return table; in xkb_compose_table_new()
73 xkb_compose_table_ref(struct xkb_compose_table *table) in xkb_compose_table_ref() argument
75 table->refcnt++; in xkb_compose_table_ref()
76 return table; in xkb_compose_table_ref()
80 xkb_compose_table_unref(struct xkb_compose_table *table) in xkb_compose_table_unref() argument
82 if (!table || --table->refcnt > 0) in xkb_compose_table_unref()
84 free(table->locale); in xkb_compose_table_unref()
85 darray_free(table->nodes); in xkb_compose_table_unref()
86 darray_free(table->utf8); in xkb_compose_table_unref()
87 xkb_context_unref(table->ctx); in xkb_compose_table_unref()
88 free(table); in xkb_compose_table_unref()
98 struct xkb_compose_table *table; in xkb_compose_table_new_from_file() local
111 table = xkb_compose_table_new(ctx, locale, format, flags); in xkb_compose_table_new_from_file()
112 if (!table) in xkb_compose_table_new_from_file()
115 ok = parse_file(table, file, "(unknown file)"); in xkb_compose_table_new_from_file()
117 xkb_compose_table_unref(table); in xkb_compose_table_new_from_file()
121 return table; in xkb_compose_table_new_from_file()
131 struct xkb_compose_table *table; in xkb_compose_table_new_from_buffer() local
144 table = xkb_compose_table_new(ctx, locale, format, flags); in xkb_compose_table_new_from_buffer()
145 if (!table) in xkb_compose_table_new_from_buffer()
148 ok = parse_string(table, buffer, length, "(input string)"); in xkb_compose_table_new_from_buffer()
150 xkb_compose_table_unref(table); in xkb_compose_table_new_from_buffer()
154 return table; in xkb_compose_table_new_from_buffer()
162 struct xkb_compose_table *table; in xkb_compose_table_new_from_locale() local
172 table = xkb_compose_table_new(ctx, locale, XKB_COMPOSE_FORMAT_TEXT_V1, in xkb_compose_table_new_from_locale()
174 if (!table) in xkb_compose_table_new_from_locale()
201 path = get_locale_compose_file_path(table->locale); in xkb_compose_table_new_from_locale()
210 locale, table->locale); in xkb_compose_table_new_from_locale()
211 xkb_compose_table_unref(table); in xkb_compose_table_new_from_locale()
215 ok = parse_file(table, file, path); in xkb_compose_table_new_from_locale()
219 xkb_compose_table_unref(table); in xkb_compose_table_new_from_locale()
223 log_dbg(ctx, "created compose table from locale %s with path %s\n", in xkb_compose_table_new_from_locale()
224 table->locale, path); in xkb_compose_table_new_from_locale()
227 return table; in xkb_compose_table_new_from_locale()