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]