Update of /cvsroot/octaviz/octaviz/Wrapping
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1987/Wrapping
Modified Files:
vtkWrapOctave.c
Log Message:
Replaced unsigned int pointer casts with uintptr_t. Fixed 32/64 bit issues. Should work now on AMD64 bit platform.
Thanks to Mark Hesselink.
Index: vtkWrapOctave.c
===================================================================
RCS file: /cvsroot/octaviz/octaviz/Wrapping/vtkWrapOctave.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- vtkWrapOctave.c 1 Mar 2005 02:53:07 -0000 1.3
+++ vtkWrapOctave.c 7 Mar 2005 02:06:54 -0000 1.4
@@ -15,6 +15,7 @@
#include <stdio.h>
#include <string.h>
+#include <inttypes.h>
#include "vtkParse.h"
int numberOfWrappedFunctions = 0;
@@ -348,7 +349,11 @@
case 109:
case 309:
fprintf(fp," if ( args(%i).type_id() != vtk_object::static_type_id() ) error_flag = 1;\n",start_arg);
- fprintf(fp," else temp%i = reinterpret_cast<%s*>( args(%i).uint32_scalar_value().value() );\n",i,currentFunction->ArgClasses[i],start_arg);
+# if __WORDSIZE == 64
+ fprintf(fp," else temp%i = reinterpret_cast<%s*>( args(%i).uint64_scalar_value().value() );\n",i,currentFunction->ArgClasses[i],start_arg);
+# else
+ fprintf(fp," else temp%i = reinterpret_cast<%s*>( args(%i).uint32_scalar_value().value() );\n",i,currentFunction->ArgClasses[i],start_arg);
+# endif
/* FIXME
fprintf(fp," retval = octave_value( new vtk_object(temp%i) );\n",MAX_ARGS);
fprintf(fp," 309temp%i = (%s *)(vtkTclGetPointerFromObject(argv[%i],(char *) \"%s\",interp,error_flag));\n",i,currentFunction->ArgClasses[i],start_arg,
@@ -685,7 +690,11 @@
fprintf(fp," octave_stdout << help_map[args(0).string_value()] << std::endl;\n");
fprintf(fp," return retval;\n }\n\n");
+# if __WORDSIZE == 64
+ fprintf(fp," %s *vtk_pointer = reinterpret_cast<%s*>( args(0).uint64_scalar_value().value() );\n",data->ClassName,data->ClassName);
+# else
fprintf(fp," %s *vtk_pointer = reinterpret_cast<%s*>( args(0).uint32_scalar_value().value() );\n",data->ClassName,data->ClassName);
+# endif
fprintf(fp," std::string method_name = args(1).string_value();\n");
fprintf(fp," int error_flag;\n");
fprintf(fp," error_flag = 0; error_flag = error_flag;\n\n");
@@ -710,7 +719,11 @@
fprintf(fp," error_flag = 0;\n");
fprintf(fp," vtkOctaveCommand* comm = vtkOctaveCommand::New();\n");
fprintf(fp," comm->SetFunctionName(args(3).string_value().c_str());\n");
+# if __WORDSIZE == 64
+ fprintf(fp," vtk_object *vtk_obj = reinterpret_cast<vtk_object*>( args(0).uint64_scalar_value().value() );\n");
+# else
fprintf(fp," vtk_object *vtk_obj = reinterpret_cast<vtk_object*>( args(0).uint32_scalar_value().value() );\n");
+# endif
fprintf(fp," comm->SetObject( vtk_obj );\n");
fprintf(fp," vtk_pointer->AddObserver(args(2).string_value().c_str(),comm);\n");
fprintf(fp," comm->Delete();\n");
|