Revision 7abef20e8c2b6105b5f44785efefd31000553257 authored by Filip Roséen on 22 February 2016, 16:28:30 UTC, committed by Rémi Denis-Courmont on 23 February 2016, 02:21:04 UTC
The rationale behind this patch is easier to explain with a little bit
of code than in words, but one can summarize it with; "wrong linkage
used for `vlc_set_cb` when `include/vlc_plugin.h` is compiled as C++,
this fixes that".

Explanation
-----------

    extern "C" typedef void(*callback_t)();

    void cpp_func (callback_t);

Above the name `cpp_func` has C++ linkage, and its type is a C++ function
returning `void`, accepting a pointer-to-function-with-C-linkage (returning
`void` and takes no arguments).

    typedef void(*callback_t) ();

    extern "C" int c_func (callback_t);

In this example (matching the code in `include/vlc_plugin.h`), the name `c_func`
has C linkage, and its type is a C function returning `int`, accepting a
pointer-to-function-with-C++-linkage (that returns `void` and takes no
arguments).

Conclusion
----------

Since `vlc_entry_*` will be called from C, the first parameter when invoked will
be a pointer to function with C linkage---as such this patch fixes the
previously erroneous linkage.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
1 parent 785725c
History
File Mode Size
.gitignore -rw-r--r-- 65 bytes
LINGUAS -rw-r--r-- 300 bytes
Makefile.in.in -rw-r--r-- 16.9 KB
Makevars -rw-r--r-- 2.0 KB
POTFILES.in -rw-r--r-- 37.8 KB
POTFILES.skip -rw-r--r-- 79 bytes
ach.po -rw-r--r-- 677.8 KB
af.po -rw-r--r-- 731.3 KB
am.po -rw-r--r-- 772.8 KB
am_ET.po -rw-r--r-- 643.7 KB
an.po -rw-r--r-- 912.0 KB
ar.po -rw-r--r-- 1.0 MB
ast.po -rw-r--r-- 906.0 KB
az.po -rw-r--r-- 637.1 KB
be.po -rw-r--r-- 1.2 MB
bg.po -rw-r--r-- 1.1 MB
bn.po -rw-r--r-- 1.2 MB
bn_IN.po -rw-r--r-- 1.2 MB
br.po -rw-r--r-- 685.8 KB
bs.po -rw-r--r-- 702.0 KB
ca.po -rw-r--r-- 1.2 MB
ca@valencia.po -rw-r--r-- 900.7 KB
cgg.po -rw-r--r-- 722.0 KB
ckb.po -rw-r--r-- 753.6 KB
co.po -rw-r--r-- 650.6 KB
cs.po -rw-r--r-- 732.2 KB
cy.po -rw-r--r-- 756.7 KB
da.po -rw-r--r-- 921.3 KB
de.po -rw-r--r-- 1.0 MB
el.po -rw-r--r-- 1.4 MB
en_GB.po -rw-r--r-- 848.4 KB
es.po -rw-r--r-- 1.2 MB
es_MX.po -rw-r--r-- 913.1 KB
et.po -rw-r--r-- 968.2 KB
eu.po -rw-r--r-- 1.0 MB
fa.po -rw-r--r-- 789.5 KB
ff.po -rw-r--r-- 688.1 KB
fi.po -rw-r--r-- 1.0 MB
fr.po -rw-r--r-- 1014.8 KB
fur.po -rw-r--r-- 788.5 KB
ga.po -rw-r--r-- 742.5 KB
gd.po -rw-r--r-- 745.0 KB
gl.po -rw-r--r-- 1.1 MB
gu.po -rw-r--r-- 682.5 KB
he.po -rw-r--r-- 831.8 KB
hi.po -rw-r--r-- 773.5 KB
hr.po -rw-r--r-- 1.0 MB
hu.po -rw-r--r-- 1.1 MB
hy.po -rw-r--r-- 1.2 MB
ia.po -rw-r--r-- 639.8 KB
id.po -rw-r--r-- 929.5 KB
is.po -rw-r--r-- 725.2 KB
it.po -rw-r--r-- 1.2 MB
ja.po -rw-r--r-- 1.1 MB
ka.po -rw-r--r-- 878.1 KB
kab.po -rw-r--r-- 636.5 KB
kk.po -rw-r--r-- 864.5 KB
km.po -rw-r--r-- 1.5 MB
kn.po -rw-r--r-- 1.1 MB
ko.po -rw-r--r-- 1.1 MB
ku_IQ.po -rw-r--r-- 679.1 KB
kur.po -rw-r--r-- 641.5 KB
ky.po -rw-r--r-- 657.2 KB
lg.po -rw-r--r-- 735.7 KB
lt.po -rw-r--r-- 897.8 KB
lv.po -rw-r--r-- 683.8 KB
makefile-qt4.patch -rw-r--r-- 832 bytes
mk.po -rw-r--r-- 659.1 KB
ml.po -rw-r--r-- 672.9 KB
mn.po -rw-r--r-- 714.5 KB
mr.po -rw-r--r-- 756.3 KB
ms.po -rw-r--r-- 1.1 MB
my.po -rw-r--r-- 665.5 KB
nb.po -rw-r--r-- 829.3 KB
ne.po -rw-r--r-- 1.1 MB
nl.po -rw-r--r-- 1.1 MB
nn.po -rw-r--r-- 935.5 KB
nqo.po -rw-r--r-- 616.1 KB
oc.po -rw-r--r-- 752.9 KB
or.po -rw-r--r-- 652.8 KB
pa.po -rw-r--r-- 876.7 KB
pam.po -rw-r--r-- 637.0 KB
pl.po -rw-r--r-- 1.1 MB
ps.po -rw-r--r-- 700.6 KB
pt_BR.po -rw-r--r-- 1.0 MB
pt_PT.po -rw-r--r-- 1.0 MB
ro.po -rw-r--r-- 931.4 KB
ru.po -rw-r--r-- 1.2 MB
si.po -rw-r--r-- 884.8 KB
sk.po -rw-r--r-- 1.1 MB
sl.po -rw-r--r-- 1.0 MB
sm.po -rw-r--r-- 642.2 KB
sq.po -rw-r--r-- 677.8 KB
sr.po -rw-r--r-- 1.0 MB
sv.po -rw-r--r-- 978.0 KB
szl.po -rw-r--r-- 616.1 KB
ta.po -rw-r--r-- 705.7 KB
te.po -rw-r--r-- 748.9 KB
tet.po -rw-r--r-- 685.8 KB
th.po -rw-r--r-- 898.4 KB
tl.po -rw-r--r-- 684.9 KB
tr.po -rw-r--r-- 1.1 MB
tt.po -rw-r--r-- 615.4 KB
uk.po -rw-r--r-- 1.3 MB
ur.po -rw-r--r-- 615.8 KB
uz.po -rw-r--r-- 654.0 KB
vi.po -rw-r--r-- 992.1 KB
vlc.pot -rw-r--r-- 636.0 KB
wa.po -rw-r--r-- 856.4 KB
zh_CN.po -rw-r--r-- 1.0 MB
zh_TW.po -rw-r--r-- 858.5 KB
zu.po -rw-r--r-- 738.9 KB

back to top