Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <86plux19y8.fsf@linuxsc.com>
Deutsch   English   Français   Italiano  
<86plux19y8.fsf@linuxsc.com>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED.mailhub.linuxsc.com!not-for-mail
From: Tim Rentsch <tr.17687@z991.linuxsc.com>
Newsgroups: comp.lang.c
Subject: Re: Help requested with P99-based macro to create Wayland listeners
Date: Wed, 10 Apr 2024 09:03:43 -0700
Organization: A noiseless patient Spider
Message-ID: <86plux19y8.fsf@linuxsc.com>
References: <pan$3770d$7f0531e6$76520fa1$2c09330e@invalid.invalid> <86ttka1p61.fsf@linuxsc.com> <pan$325a1$29dc1a44$271afe6a$307a257b@invalid.invalid> <uv46mg$e1e0$1@dont-email.me> <pan$57aa8$bcee1756$62f53bf3$9223a50a@invalid.invalid>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Injection-Info: dont-email.me; posting-host="mailhub.linuxsc.com:45.79.96.183";
	logging-data="1120477"; mail-complaints-to="abuse@eternal-september.org"
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock: sha1:1GjH+i5LEGofkFXqfJ1Fi/XVWbU=
Bytes: 2079
Lines: 32

Blue-Maned_Hawk <bluemanedhawk@invalid.invalid> writes:

[request for example]

> MAKE_LISTENER(wl_registry, global, global_remove);
>
> ?
>
> static const struct wl_registry_listener wl_registry_listener = { 
> .global = callback_wl_registry_global,
> .global_remove = callback_wl_registry_global_remove
> };
>
> ?
>
> MAKE_LISTENER(xdg_wm_base, configure, close, configure_bounds,
> wm_capabilities);
>
> ?
>
> static const struct xdg_wm_base_listener xdg_wm_base_listener = {
>  .configure = callback_xdg_wm_base_configure,
>  .close = callback_xdg_wm_base_close,
>  .configure_bounds = callback_xdg_wm_base_configure_bounds,
>  .wm_capabilities = callback_xdg_wm_base_wm_capabilities
> };

I think it isn't too hard to write a macro to do what you
want.  I'm pretty sure it's possible to define such a macro
using the P99 macros to do the iteration, but I don't see
an easy way to do it.  If I were in need of such a macro,
probably I would ignore the P99 macros and just build a
simpler solution that works for the task at hand.