diff options
Diffstat (limited to 'graphics/wings-devel/files/patch-plugins__src_accel_wings__pick__drv.c')
-rw-r--r-- | graphics/wings-devel/files/patch-plugins__src_accel_wings__pick__drv.c | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/graphics/wings-devel/files/patch-plugins__src_accel_wings__pick__drv.c b/graphics/wings-devel/files/patch-plugins__src_accel_wings__pick__drv.c new file mode 100644 index 000000000000..853f7e98bcb7 --- /dev/null +++ b/graphics/wings-devel/files/patch-plugins__src_accel_wings__pick__drv.c @@ -0,0 +1,67 @@ + +$FreeBSD$ + +--- plugins_src/accel/wings_pick_drv.c.orig ++++ plugins_src/accel/wings_pick_drv.c +@@ -20,14 +20,19 @@ + #endif + #include <string.h> + ++#if ERL_DRV_EXTENDED_MAJOR_VERSION < 2 ++typedef int ErlDrvSizeT; ++typedef int ErlDrvSSizeT; ++#endif ++ + /* + * Interface routines. + */ + static ErlDrvData wings_file_start(ErlDrvPort port, char *buff); + static void wings_file_stop(ErlDrvData handle); +-static int control(ErlDrvData handle, unsigned int command, +- char* buff, int count, +- char** res, int res_size); ++static ErlDrvSSizeT control(ErlDrvData handle, unsigned int command, ++ char* buff, ErlDrvSizeT count, ++ char** res, ErlDrvSizeT res_size); + static void outputv(ErlDrvData drv_data, ErlIOVec* ev); + + /* +@@ -47,7 +52,18 @@ + NULL, /* void * that is not used (BC) */ + control, /* F_PTR control, port_control callback */ + NULL, /* F_PTR timeout, driver_set_timer callback */ +- outputv /* F_PTR outputv, reserved */ ++ outputv, /* F_PTR outputv, reserved */ ++ NULL, ++ NULL, ++ NULL, ++ NULL, ++ ERL_DRV_EXTENDED_MARKER, ++ ERL_DRV_EXTENDED_MAJOR_VERSION, ++ ERL_DRV_EXTENDED_MINOR_VERSION, ++ 0, ++ NULL, ++ NULL, ++ NULL + }; + + struct vertex_struct { +@@ -107,14 +123,14 @@ + * Handle commands. + */ + +-static int ++static ErlDrvSSizeT + control(ErlDrvData handle, unsigned int command, +- char* buf, int count, +- char** res, int res_size) ++ char* buf, ErlDrvSizeT count, ++ char** res, ErlDrvSizeT res_size) + { + switch (command) { + case 0: { /* Define matrix */ +- memcpy((void *) m, (void *) buf, count); ++ memcpy((void *) m, (void *) buf, (size_t) count); + #if 0 + { + int i, j; |