Lines Matching full:table
25 #include "table.h"
36 struct xkb_compose_table *table; in xkb_compose_table_new() local
43 table = calloc(1, sizeof(*table)); in xkb_compose_table_new()
44 if (!table) { in xkb_compose_table_new()
49 table->refcnt = 1; in xkb_compose_table_new()
50 table->ctx = xkb_context_ref(ctx); in xkb_compose_table_new()
52 table->locale = resolved_locale; in xkb_compose_table_new()
53 table->format = format; in xkb_compose_table_new()
54 table->flags = flags; in xkb_compose_table_new()
56 darray_init(table->nodes); in xkb_compose_table_new()
57 darray_init(table->utf8); in xkb_compose_table_new()
64 darray_append(table->nodes, root); in xkb_compose_table_new()
66 darray_append(table->utf8, '\0'); in xkb_compose_table_new()
68 return table; in xkb_compose_table_new()
72 xkb_compose_table_ref(struct xkb_compose_table *table) in xkb_compose_table_ref() argument
74 table->refcnt++; in xkb_compose_table_ref()
75 return table; in xkb_compose_table_ref()
79 xkb_compose_table_unref(struct xkb_compose_table *table) in xkb_compose_table_unref() argument
81 if (!table || --table->refcnt > 0) in xkb_compose_table_unref()
83 free(table->locale); in xkb_compose_table_unref()
84 darray_free(table->nodes); in xkb_compose_table_unref()
85 darray_free(table->utf8); in xkb_compose_table_unref()
86 xkb_context_unref(table->ctx); in xkb_compose_table_unref()
87 free(table); in xkb_compose_table_unref()
97 struct xkb_compose_table *table; in xkb_compose_table_new_from_file() local
110 table = xkb_compose_table_new(ctx, locale, format, flags); in xkb_compose_table_new_from_file()
111 if (!table) in xkb_compose_table_new_from_file()
114 ok = parse_file(table, file, "(unknown file)"); in xkb_compose_table_new_from_file()
116 xkb_compose_table_unref(table); in xkb_compose_table_new_from_file()
120 return table; in xkb_compose_table_new_from_file()
130 struct xkb_compose_table *table; in xkb_compose_table_new_from_buffer() local
143 table = xkb_compose_table_new(ctx, locale, format, flags); in xkb_compose_table_new_from_buffer()
144 if (!table) in xkb_compose_table_new_from_buffer()
147 ok = parse_string(table, buffer, length, "(input string)"); in xkb_compose_table_new_from_buffer()
149 xkb_compose_table_unref(table); in xkb_compose_table_new_from_buffer()
153 return table; in xkb_compose_table_new_from_buffer()
161 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()
193 cpath = path = get_locale_compose_file_path(table->locale); in xkb_compose_table_new_from_locale()
203 xkb_compose_table_unref(table); in xkb_compose_table_new_from_locale()
207 ok = parse_file(table, file, cpath); in xkb_compose_table_new_from_locale()
210 xkb_compose_table_unref(table); in xkb_compose_table_new_from_locale()
214 log_dbg(ctx, "created compose table from locale %s with path %s\n", in xkb_compose_table_new_from_locale()
215 table->locale, path); in xkb_compose_table_new_from_locale()
218 return table; in xkb_compose_table_new_from_locale()