Fixed warnings in python test
authorLaurent Bessard
Thu, 02 May 2013 10:45:07 +0200
changeset 1086 b566ab5556ab
parent 1085 906fe7f2c052
child 1087 16cc3c42e413
Fixed warnings in python test
tests/python/c_code@c_ext/cfile.xml
tests/python/plc.xml
--- a/tests/python/c_code@c_ext/cfile.xml	Thu May 02 09:42:14 2013 +0200
+++ b/tests/python/c_code@c_ext/cfile.xml	Thu May 02 10:45:07 2013 +0200
@@ -11,6 +11,8 @@
 <![CDATA[volatile long Lock=0;
 volatile char PtoC=1,CtoP=2;
 
+extern long AtomicCompareExchange(long*,long, long);
+
 int Simple_C_Call(int val){
   return val+1;
 }
@@ -23,10 +25,10 @@
      beremiz' runtime implementation */
 
   int res = 0;
-  if(!AtomicCompareExchange(&Lock, 0, 1)){
+  if(!AtomicCompareExchange((long*)&Lock, 0, 1)){
     PtoC=toC;
     *fromC=CtoP;
-    AtomicCompareExchange(&Lock, 1, 0);
+    AtomicCompareExchange((long*)&Lock, 1, 0);
     res=1;
   }
   printf("C code called by Python: toC %d fromC %d\n",toC,*fromC);
@@ -36,11 +38,10 @@
 int PLC_C_Call(char fromPLC, char *toPLC){
   /* PLC also have to be realy carefull not to 
      conflict with asynchronous python access */
-  int res;
-  if(!AtomicCompareExchange(&Lock, 0, 1)){
+  if(!AtomicCompareExchange((long*)&Lock, 0, 1)){
       CtoP = fromPLC;
       *toPLC = PtoC;
-      AtomicCompareExchange(&Lock, 1, 0);
+      AtomicCompareExchange((long*)&Lock, 1, 0);
       return 1;
   }
   return 0;
@@ -56,9 +57,9 @@
 <![CDATA[]]>
   </retrieveFunction>
   <publishFunction>
-<![CDATA[if(!AtomicCompareExchange(&Lock, 0, 1)){
+<![CDATA[if(!AtomicCompareExchange((long*)&Lock, 0, 1)){
     TestInput = CtoP + PtoC + TestOutput;
-    AtomicCompareExchange(&Lock, 1, 0);
+    AtomicCompareExchange((long*)&Lock, 1, 0);
 }]]>
   </publishFunction>
 </CFile>
--- a/tests/python/plc.xml	Thu May 02 09:42:14 2013 +0200
+++ b/tests/python/plc.xml	Thu May 02 10:45:07 2013 +0200
@@ -8,7 +8,7 @@
               productVersion="0.0"
               creationDateTime="2008-12-14T16:21:19"/>
   <contentHeader name="Beremiz Python Support Tests"
-                 modificationDateTime="2013-04-25T11:47:30">
+                 modificationDateTime="2013-05-02T10:44:19">
     <coordinateInfo>
       <pageSize x="1024" y="1024"/>
       <fbd>
@@ -1161,6 +1161,7 @@
 {{
   char toPLC;
   char fromPLC = GetFbVar(IN);
+  extern int PLC_C_Call(char, char *);
   if(PLC_C_Call(fromPLC, &toPLC)){
     SetFbVar(OUT, toPLC);
   }