diff options
author | Uli Schlachter <psychon@znc.in> | 2015-04-04 16:51:35 +0200 |
---|---|---|
committer | Uli Schlachter <psychon@znc.in> | 2015-04-04 16:51:35 +0200 |
commit | 5cf2876228f247248e9e2d880cc76d0685aa3cdd (patch) | |
tree | 05a63c3b3f8acad8b283c7027ee8f7a90155a0df | |
parent | 0ebef8dd7f12e7520c1003a0197313ae7dd7c1ac (diff) |
Save static info as a pointer instead of copying it
Signed-off-by: Uli Schlachter <psychon@znc.in>
-rw-r--r-- | src/errors.h | 2 | ||||
-rwxr-xr-x | src/extensions.py | 2 | ||||
-rw-r--r-- | src/xcb_errors.c | 18 |
3 files changed, 11 insertions, 11 deletions
diff --git a/src/errors.h b/src/errors.h index 8065c78..c77c51c 100644 --- a/src/errors.h +++ b/src/errors.h @@ -43,6 +43,6 @@ extern const struct static_extension_info_t xproto_info; int register_extensions(xcb_errors_context_t *ctx, xcb_connection_t *conn); int register_extension(xcb_errors_context_t *ctx, xcb_connection_t *conn, xcb_query_extension_cookie_t cookie, - const struct static_extension_info_t static_info); + const struct static_extension_info_t *static_info); #endif /* __ERRORS_H__ */ diff --git a/src/extensions.py b/src/extensions.py index a3aa2c3..0f7d384 100755 --- a/src/extensions.py +++ b/src/extensions.py @@ -119,7 +119,7 @@ output.write("\tint ret = 0;\n"); for idx in range(len(modules)): output.write("\tcookies[%d] = xcb_query_extension(conn, strlen(\"%s\"), \"%s\");\n" % (idx, modules[idx].xname, modules[idx].xname)); for idx in range(len(modules)): - output.write("\tret |= register_extension(ctx, conn, cookies[%d], extension_%s_info);\n" % (idx, modules[idx].name)); + output.write("\tret |= register_extension(ctx, conn, cookies[%d], &extension_%s_info);\n" % (idx, modules[idx].name)); output.write("\treturn ret;\n"); output.write("}\n"); diff --git a/src/xcb_errors.c b/src/xcb_errors.c index 8fdf182..5a469e2 100644 --- a/src/xcb_errors.c +++ b/src/xcb_errors.c @@ -30,7 +30,7 @@ struct extension_info_t { struct extension_info_t *next; - struct static_extension_info_t static_info; + const struct static_extension_info_t *static_info; uint8_t major_opcode; uint8_t first_event; uint8_t first_error; @@ -48,7 +48,7 @@ static const char *get_strings_entry(const char *strings, unsigned int index) { int register_extension(xcb_errors_context_t *ctx, xcb_connection_t *conn, xcb_query_extension_cookie_t cookie, - const struct static_extension_info_t static_info) + const struct static_extension_info_t *static_info) { struct extension_info_t *info; xcb_query_extension_reply_t *reply; @@ -126,7 +126,7 @@ const char *xcb_errors_get_name_for_major_code(xcb_errors_context_t *ctx, if (info == NULL) return get_strings_entry(xproto_info.strings_minor, major_code); - return info->static_info.name; + return info->static_info->name; } const char *xcb_errors_get_name_for_minor_code(xcb_errors_context_t *ctx, @@ -138,10 +138,10 @@ const char *xcb_errors_get_name_for_minor_code(xcb_errors_context_t *ctx, while (info && info->major_opcode != major_code) info = info->next; - if (info == NULL || minor_code >= info->static_info.num_minor) + if (info == NULL || minor_code >= info->static_info->num_minor) return NULL; - return get_strings_entry(info->static_info.strings_minor, minor_code); + return get_strings_entry(info->static_info->strings_minor, minor_code); } const char *xcb_errors_get_name_for_event(xcb_errors_context_t *ctx, @@ -173,8 +173,8 @@ const char *xcb_errors_get_name_for_event(xcb_errors_context_t *ctx, } if (extension) - *extension = best->static_info.name; - return get_strings_entry(best->static_info.strings_events, event_code - best->first_event); + *extension = best->static_info->name; + return get_strings_entry(best->static_info->strings_events, event_code - best->first_event); } const char *xcb_errors_get_name_for_error(xcb_errors_context_t *ctx, @@ -206,6 +206,6 @@ const char *xcb_errors_get_name_for_error(xcb_errors_context_t *ctx, } if (extension) - *extension = best->static_info.name; - return get_strings_entry(best->static_info.strings_errors, error_code - best->first_error); + *extension = best->static_info->name; + return get_strings_entry(best->static_info->strings_errors, error_code - best->first_error); } |