summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorAndrew Haley <aph@redhat.com>2013-11-16 06:35:51 -0500
committerAnthony Green <green@moxielogic.com>2013-11-16 06:35:51 -0500
commit31257b3189f81a199bc2902c22bc5f2d7c54ccde (patch)
tree8f5fda63ed12ed33b913095197592c12b7435d4f /doc
parentdb0ace3a38496af73eae3df02ef353736d16909f (diff)
downloadlibffi-31257b3189f81a199bc2902c22bc5f2d7c54ccde.tar.gz
Fix sample closure code
Diffstat (limited to 'doc')
-rw-r--r--doc/libffi.info16
-rw-r--r--doc/libffi.texi16
-rw-r--r--doc/stamp-vti2
-rw-r--r--doc/version.texi2
4 files changed, 20 insertions, 16 deletions
diff --git a/doc/libffi.info b/doc/libffi.info
index 4d42f5b..de69aaf 100644
--- a/doc/libffi.info
+++ b/doc/libffi.info
@@ -478,19 +478,21 @@ A trivial example that creates a new 'puts' by binding 'fputs' with
#include <ffi.h>
/* Acts like puts with the file given at time of enclosure. */
- void puts_binding(ffi_cif *cif, ffi_arg *ret, void* args[],
- FILE *stream)
+ void puts_binding(ffi_cif *cif, void *ret, void* args[],
+ void *stream)
{
- *ret = fputs(*(char **)args[0], stream);
+ *(ffi_arg *)ret = fputs(*(char **)args[0], (FILE *)stream);
}
+ typedef int (*puts_t)(char *);
+
int main()
{
ffi_cif cif;
ffi_type *args[1];
ffi_closure *closure;
- int (*bound_puts)(char *);
+ void *bound_puts;
int rc;
/* Allocate closure and bound_puts */
@@ -509,7 +511,7 @@ A trivial example that creates a new 'puts' by binding 'fputs' with
if (ffi_prep_closure_loc(closure, &cif, puts_binding,
stdout, bound_puts) == FFI_OK)
{
- rc = bound_puts("Hello World!");
+ rc = ((puts_t)bound_puts)("Hello World!");
/* rc now holds the result of the call to fputs */
}
}
@@ -610,7 +612,7 @@ Node: Type Example11207
Node: Multiple ABIs12473
Node: The Closure API12844
Node: Closure Example15788
-Node: Missing Features17342
-Node: Index17795
+Node: Missing Features17396
+Node: Index17849

End Tag Table
diff --git a/doc/libffi.texi b/doc/libffi.texi
index d13c5c0..57dae0b 100644
--- a/doc/libffi.texi
+++ b/doc/libffi.texi
@@ -541,21 +541,23 @@ A trivial example that creates a new @code{puts} by binding
#include <ffi.h>
/* Acts like puts with the file given at time of enclosure. */
-void puts_binding(ffi_cif *cif, ffi_arg *ret, void* args[],
- FILE *stream)
+void puts_binding(ffi_cif *cif, void *ret, void* args[],
+ void *stream)
@{
- *ret = fputs(*(char **)args[0], stream);
+ *(ffi_arg *)ret = fputs(*(char **)args[0], (FILE *)stream);
@}
+typedef int (*puts_t)(char *);
+
int main()
@{
ffi_cif cif;
ffi_type *args[1];
ffi_closure *closure;
- int (*bound_puts)(char *);
+ void *bound_puts;
int rc;
-
+
/* Allocate closure and bound_puts */
closure = ffi_closure_alloc(sizeof(ffi_closure), &bound_puts);
@@ -569,10 +571,10 @@ int main()
&ffi_type_sint, args) == FFI_OK)
@{
/* Initialize the closure, setting stream to stdout */
- if (ffi_prep_closure_loc(closure, &cif, puts_binding,
+ if (ffi_prep_closure_loc(closure, &cif, puts_binding,
stdout, bound_puts) == FFI_OK)
@{
- rc = bound_puts("Hello World!");
+ rc = ((puts_t)bound_puts)("Hello World!");
/* rc now holds the result of the call to fputs */
@}
@}
diff --git a/doc/stamp-vti b/doc/stamp-vti
index 3c7f7b2..9a06fab 100644
--- a/doc/stamp-vti
+++ b/doc/stamp-vti
@@ -1,4 +1,4 @@
-@set UPDATED 13 November 2013
+@set UPDATED 16 November 2013
@set UPDATED-MONTH November 2013
@set EDITION 3.0.14-rc0
@set VERSION 3.0.14-rc0
diff --git a/doc/version.texi b/doc/version.texi
index 3c7f7b2..9a06fab 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -1,4 +1,4 @@
-@set UPDATED 13 November 2013
+@set UPDATED 16 November 2013
@set UPDATED-MONTH November 2013
@set EDITION 3.0.14-rc0
@set VERSION 3.0.14-rc0