This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/osmocom-net-gprs@lists.osmocom.org/.
Max msuraev at sysmocom.deThank you for the links - I went over docs, related tutorials etc. It's a great tool indeed but it's a tool for C. OsmoPCU is written in C++ which is supported in spatch only at rudimentary level. Moreover, the OsmoPCU code actively mixes C and C++. All-in-all I did not managed to find a way to apply changes both to headers and the code at the same time. For example, attached semantic patch properly updates all the invocations on alloc_algorithm*() but not the definitions so the result is uncompilable. So the question is, how shall I proceed with spatch? - apply what's possible and do the rest manually? - don't use it at all for c++? Of course it might as well be the case that the patch is wrong or that I'm calling spatch in a wrong way: spatch --c++ --dir src -I src --sp-file alloc.spatch --in-place --recursive-includes Ideas, opinions are greatly appreciated. On 23.09.2017 06:47, Harald Welte wrote: > > http://cgit.osmocom.org/osmo-trx/commit/?id=e210f1a864b0752f5baeb14de8ddcfc7320007a4 > > http://coccinelle.lip6.fr/sp.php - no sure if we want to replicate that in the > osmocom wiki. -- Max Suraev <msuraev at sysmocom.de> http://www.sysmocom.de/ ======================================================================= * sysmocom - systems for mobile communications GmbH * Alt-Moabit 93 * 10559 Berlin, Germany * Sitz / Registered office: Berlin, HRB 134158 B * Geschaeftsfuehrer / Managing Director: Harald Welte -------------- next part -------------- // spatch --c++ --dir src -I src --sp-file alloc.spatch --in-place --recursive-includes @@ expression A, B, C, D, E; @@ tbf_alloc_ul_tbf(A, B, C, D, E, ( - 1 + true | - 0 + false ) ) @@ expression A, B, C, D, E; @@ tbf_alloc_dl_tbf(A, B, C, D, E, ( - 1 + true | - 0 + false ) ) @@ identifier alloc_algorithm_a, bts, ms, tbf, cust, single, use_trx; @@ alloc_algorithm_a(struct gprs_rlcmac_bts *bts, GprsMs *ms, struct gprs_rlcmac_tbf *tbf, - uint32_t cust, uint8_t single, int use_trx) ?{ ... } @@ expression A, B, C, D, E, G; @@ alloc_algorithm_a(A, B, C, -D, E, G) @@ expression A, B, C, D, E, G; @@ alloc_algorithm_b(A, B, C, -D, E, G) @@ expression A, B, C, D, E, G; @@ alloc_algorithm_dynamic(A, B, C, -D, E, G) @@ expression X, A, B, C, D, E, G; @@ X->alloc_algorithm(A, B, C, -D, E, G)