Deutsch English Français Italiano |
<pan$3770d$7f0531e6$76520fa1$2c09330e@invalid.invalid> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!bluemanedhawk.eternal-september.org!.POSTED!not-for-mail From: Blue-Maned_Hawk <bluemanedhawk@invalid.invalid> Newsgroups: comp.lang.c Subject: Help requested with P99-based macro to create Wayland listeners Date: Tue, 9 Apr 2024 00:36:11 -0000 (UTC) Organization: A noiseless patient Spider Lines: 24 Message-ID: <pan$3770d$7f0531e6$76520fa1$2c09330e@invalid.invalid> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Tue, 09 Apr 2024 00:36:11 +0200 (CEST) Injection-Info: bluemanedhawk.eternal-september.org; posting-host="24c6ffcb5da15c0ca183dd09cbb06a47"; logging-data="4013019"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18AmSLIK6GddUvEGgEiCr6VTlNPIfKZePY=" User-Agent: Pan/0.154 (Izium; 517acf4) Cancel-Lock: sha1:i3jIfOR+h2+0UHEWYOBW8R/bPWk= Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACh0lEQVRYw71Z21bD MAzzevbfkr4cHjrSXJyL044+MDa6WLEl2SkvkrZ1AbAvXO+bUGSCPYnsuIVGMpm ZLnjX718GhAKNsp8lON2F9VrhELwIgJlBepkZjA78rVK+FkmNhEJK76UsJlz8+E rJsjrpYouhLo/SC6qPHgakFOR8wV9+8rCfO/I/oVnmUZUp42/LW2XkLj9TCFNM9 jp5g2EmHZgpYZjCOkYU7sXVogRylJqpdggoFLG1g09Flah/7kErCxzR9HgXPYsq 0glb9cxjIz2Vsk9AmAoCSxECpD713joMKjQqLAtmMqJmXjdVvlMnMQCVITotJd1 z+fh1f1NNo+vuc1KnhWUmY7t03vydTud9BbXCtN3L2PL3bK7JCNG0GHzuZxafyB fxevCxpm1vrwZltqw6SILCcdoCE6PGQC8wZWDA9Or7Qp5s3lAZezys0nDazs9S9 R0TjwEiksRxLkNPC1NMMWPs1bj0Ei0Yuo+JVtFLuzP1NRJ16qXWN8DhhtmS4PDg O6mqRxs4bEJrYt087mSIow/1VzW2oFlMQuiuIy/KsUagvhdw6hSjJGlIavbLF8x j3X47bccLcUSi0dkWh1nUZNhANT1tHKUXrNxNLbd9KPb9wDDVrKwmPQMOPQ1oy6 k5I1DwzDeRJd3jVIhDAUxq3ngzJG4CCkNXZxZVMcjefoK2J0gUY2S3rxz/RuTFx 2zHd9U+obimJXMG4edsk/2j5pTU5G1MmzbRLxkfq5EiT1GGsidvMGzi+1goGb2l GCrN+nGnV8xj3q3JLRDVPL96vUc7Z4aJ3TN1mVqWAMJMfG+Jxh6TQqP+92iZkCU xtglds1AB6r0aiSHKcnFck+p/c/0CbacFLQcajGcAAAAASUVORK5CYII= X-Face: Taumatawhakatangihangakoauauotamateaturipukakapikimaungahoronuku pokaiwhenuakitanatahu Bytes: 3141 This macro doesn't work and i don't know why. I've tried multiple different things to try to delay the expansion of _0MAKE_LISTENER and none of them have worked. I don't know if there's a more idiomatic way to do this. I've tried looking at the output from putting it through ‘cpp’ and that didn't work because it errored out before i could see what it expanded to. #define MAKE_LISTENER(object_type, ...) static const struct\ object_type##_listener object_type##_listener = { P99_SEQ(\ _0MAKE_LISTENER, P99_SEQ((object_type), __VA_ARGS__)) } #define _0MAKE_LISTENER(x) _1MAKE_LISTENER (x, _2MAKE_LISTENER #define _1MAKE_LISTENER _3MAKE_LISTENER #define _2MAKE_LISTENER(y) y) #define _3MAKE_LISTENER _4MAKE_LISTENER #define _4MAKE_LISTENER(object_type, event_name) .event_name =\ callback_##object_type##_##event_name -- Blue-Maned_Hawk│shortens to Hawk│/blu.mɛin.dʰak/│he/him/his/himself/Mr. blue-maned_hawk.srht.site Like many 40-year-olds, these machines have more health issues than expected.