Package: twpsk
Severity: normal
Tags: patch

When building 'twpsk' on amd64 with gcc-4.0,
I get the following error:

twpskCB.C: In function 'void changeDisplayCB(_WidgetRec*, void*, void*)':
twpskCB.C:345: error: cast from 'void*' to 'int' loses precision
twpskCB.C: In function 'void arrowCB(_WidgetRec*, void*, void*)':
twpskCB.C:470: error: cast from 'void*' to 'int' loses precision
twpskCB.C: In function 'void freqTextCB(_WidgetRec*, void*, void*)':
twpskCB.C:526: error: cast from 'void*' to 'int' loses precision
twpskCB.C:533: error: cast from 'void*' to 'int' loses precision
twpskCB.C:544: error: cast from 'void*' to 'int' loses precision
twpskCB.C: In function 'void audioCB(_WidgetRec*, void*, void*)':
twpskCB.C:739: error: cast from 'void*' to 'int' loses precision
twpskCB.C: In function 'void bwCB(_WidgetRec*, void*, void*)':
twpskCB.C:841: error: cast from 'void*' to 'int' loses precision
twpskCB.C: In function 'void seekTimeOut(void*, XtIntervalId)':
twpskCB.C:1263: error: cast from 'void*' to 'int' loses precision
twpskCB.C:1267: error: cast from 'void*' to 'int' loses precision
make[2]: *** [twpskCB.o] Error 1
make[2]: Leaving directory `/twpsk-2.1/user-twpsk'

With the attached patch 'twpsk' can be compiled
on amd64 using gcc-4.0.

Regards
Andreas Jochens

diff -urN ../tmp-orig/twpsk-2.1/user-twpsk/twpskCB.C ./user-twpsk/twpskCB.C
--- ../tmp-orig/twpsk-2.1/user-twpsk/twpskCB.C  2002-08-13 21:38:56.000000000 
+0200
+++ ./user-twpsk/twpskCB.C      2005-01-10 16:53:12.751233984 +0100
@@ -342,7 +342,7 @@
  */
 void changeDisplayCB (Widget w, XtPointer cdata, XtPointer cbs)
 {
-   disp.changeDisplay ((int)cdata);
+   disp.changeDisplay ((long)cdata);
 }
 
 
@@ -467,7 +467,7 @@
    
    XmTextFieldSetString (textF, str);
 
-   if ((int)userData == 'R')
+   if ((long)userData == 'R')
    {
            /* Set new rx freq or */
           commControl(COMM_RXCH, COMM_FREQ, (int)(freq*100));
@@ -523,14 +523,14 @@
                NULL);
          }
           
-         if ((int)userData == 'R')
+         if ((long)userData == 'R')
          {
             /* Set new rx freq */
             commControl(COMM_RXCH, COMM_FREQ, (int)(freq*100));      
            /* Now force focus to the xmit Text Widget */
            XmProcessTraversal (pskwids.getTxText(), XmTRAVERSE_CURRENT);
          }
-         else if ((int)userData == 'T')
+         else if ((long)userData == 'T')
          {
             /* Set new tx freq */
             commControl(COMM_TXCH, COMM_FREQ, (int)(freq*100));
@@ -541,7 +541,7 @@
            DecoderWid *dec = (DecoderWid *)cdata;
            if(dec==NULL) {
                    fprintf (stderr,"callback with cdata==NULL and userData="
-                           "%p (%c)\n", userData, (int)userData);
+                           "%p (%c)\n", userData, (char)(long)userData);
                    break;
            }
            commControl(dec->commChannel, COMM_FREQ, (int)(freq*100));
@@ -736,7 +736,7 @@
  */
 void audioCB (Widget /*w*/, XtPointer cdata, XtPointer cbs)
 {
-   char which = (int) cdata;
+   char which = (long) cdata;
    XmScaleCallbackStruct *ptr = (XmScaleCallbackStruct *)cbs;
    /* set stereo levels */
    int level = (ptr->value<<8) + ptr->value;
@@ -838,7 +838,7 @@
  */
 void bwCB (Widget w, XtPointer cdata, XtPointer cbs)
 {
-   int samp = (int) cdata;
+   long samp = (long) cdata;
    XmToggleButtonCallbackStruct *pt = (XmToggleButtonCallbackStruct *) cbs;
 
    if (pt->set == True)
@@ -1260,11 +1260,11 @@
    str = XmTextGetString (pskwids.getRxFreqTF());
    freq = atof (str);
 
-   if ((int)cdata == 'U')
+   if ((long)cdata == 'U')
    {
       freq = freq + step;
    }
-   if ((int)cdata == 'D')
+   if ((long)cdata == 'D')
    {
       freq = freq - step;
    }
diff -urN ../tmp-orig/twpsk-2.1/user-twpsk/twpskDiags.C 
./user-twpsk/twpskDiags.C
--- ../tmp-orig/twpsk-2.1/user-twpsk/twpskDiags.C       2005-01-10 
16:53:37.130527768 +0100
+++ ./user-twpsk/twpskDiags.C   2005-01-10 16:53:25.717262848 +0100
@@ -69,7 +69,7 @@
  */
  void OkCB (Widget w, XtPointer cdata, XtPointer cbs)
 {
-   char lastChar = (int) cdata;
+   char lastChar = (long) cdata;
    XmSelectionBoxCallbackStruct *pt = (XmSelectionBoxCallbackStruct *) cbs;
    char *inputString, *freeMe;
    


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to