Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:mnhauke:pbx
wanpipe
wanpipe-08-usbpipemon-typepun.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File wanpipe-08-usbpipemon-typepun.diff of Package wanpipe
Resolve even more pipemon bugs. usbpipemon.c: In function 'usb_router_up_time': usbpipemon.c:576:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] dslpipemon.c: In function 'last_failed_status': dslpipemon.c:359:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] dslpipemon.c: In function 'router_up_time': dslpipemon.c:672:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] dslpipemon.c: In function 'interleave_status': dslpipemon.c:777:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] dslpipemon.c: In function 'adsl_baud_rate': dslpipemon.c:821:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] dslpipemon.c:822:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] dslpipemon.c:823:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] dslpipemon.c:824:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] dslpipemon.c: In function 'adsl_atm_config': dslpipemon.c:841:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] dslpipemon.c:842:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] dslpipemon.c:843:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] ss7pipemon.c: In function 'ss7_router_up_time': ss7pipemon.c:820:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] bpipemon.c: In function 'bitstrm_router_up_time': bpipemon.c:460:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] --- util/wanpipemon/bpipemon.c | 2 +- util/wanpipemon/dslpipemon.c | 27 ++++++++++++++++----------- util/wanpipemon/ss7pipemon.c | 2 +- util/wanpipemon/usbpipemon.c | 2 +- 4 files changed, 19 insertions(+), 14 deletions(-) Index: wanpipe-3.5.27.4/util/wanpipemon/bpipemon.c =================================================================== --- wanpipe-3.5.27.4.orig/util/wanpipemon/bpipemon.c +++ wanpipe-3.5.27.4/util/wanpipemon/bpipemon.c @@ -457,7 +457,7 @@ static void bitstrm_router_up_time( void wan_udp.wan_udphdr_data[0] = 0; DO_COMMAND(wan_udp); - time = *(u_int32_t*)&wan_udp.wan_udphdr_data[0]; + memcpy(&time, wan_udp.wan_udphdr_data, sizeof(time)); BANNER("ROUTER UP TIME"); print_router_up_time(time); Index: wanpipe-3.5.27.4/util/wanpipemon/dslpipemon.c =================================================================== --- wanpipe-3.5.27.4.orig/util/wanpipemon/dslpipemon.c +++ wanpipe-3.5.27.4/util/wanpipemon/dslpipemon.c @@ -346,6 +346,8 @@ static void power_status(void) static void last_failed_status (void) { + unsigned short tmp_us; + wan_udp.wan_udphdr_command= ADSL_LAST_FAILED_STATUS; wan_udp.wan_udphdr_return_code = 0xaa; wan_udp.wan_udphdr_data_len = 0; @@ -355,8 +357,8 @@ static void last_failed_status (void) BANNER("LAST FAILED STATUS"); - printf(" Last failed status: 0x%x \n", - *((unsigned short*)&wan_udp.wan_udphdr_data[0])); + memcpy(&tmp_us, wan_udp.wan_udphdr_data, sizeof(tmp_us)); + printf(" Last failed status: 0x%x \n", tmp_us); } else { error(); } @@ -669,7 +671,7 @@ static void router_up_time( void ) wan_udp.wan_udphdr_data[0] = 0; DO_COMMAND(wan_udp); - time = *(u_int32_t*)&wan_udp.wan_udphdr_data[0]; + memcpy(&time, wan_udp.wan_udphdr_data, sizeof(time)); if (time < 3600) { if (time<60) @@ -766,6 +768,8 @@ static void actual_config (void) static void interleave_status (void) { + unsigned short tmp_us; + wan_udp.wan_udphdr_command= ADSL_ACTUAL_INTERLEAVE_STATUS; wan_udp.wan_udphdr_return_code = 0xaa; wan_udp.wan_udphdr_data_len = 0; @@ -774,7 +778,8 @@ static void interleave_status (void) BANNER("INTERLEAVE STATUS"); - printf("Status %i\n",*((unsigned short*)&wan_udp.wan_udphdr_data[0])); + memcpy(&tmp_us, wan_udp.wan_udphdr_data, sizeof(tmp_us)); + printf("Status %d\n", tmp_us); } static void adsl_atm_counters( void ) @@ -818,10 +823,10 @@ static void adsl_baud_rate( void ) wan_udp.wan_udphdr_data[0] = 0; DO_COMMAND(wan_udp); - down = *(u_int32_t*)&wan_udp.wan_udphdr_data[0]; - up = *(u_int32_t*)&wan_udp.wan_udphdr_data[4]; - rxbuf=*(u_int32_t*)&wan_udp.wan_udphdr_data[8]; - txbuf=*(u_int32_t*)&wan_udp.wan_udphdr_data[12]; + memcpy(&down, &wan_udp.wan_udphdr_data[0], sizeof(down)); + memcpy(&up, &wan_udp.wan_udphdr_data[4], sizeof(up)); + memcpy(&rxbuf, &wan_udp.wan_udphdr_data[8], sizeof(rxbuf)); + memcpy(&txbuf, &wan_udp.wan_udphdr_data[12], sizeof(txbuf)); BANNER("ADSL BAUD RATE"); @@ -838,9 +843,9 @@ static void adsl_atm_config( void ) wan_udp.wan_udphdr_data[0] = 0; DO_COMMAND(wan_udp); - vpi = *(u_int32_t*)&wan_udp.wan_udphdr_data[0]; - vci = *(u_int32_t*)&wan_udp.wan_udphdr_data[4]; - mode = *(u_int32_t*)&wan_udp.wan_udphdr_data[8]; + memcpy(&vpi, &wan_udp.wan_udphdr_data[0], sizeof(vpi)); + memcpy(&vci, &wan_udp.wan_udphdr_data[4], sizeof(vci)); + memcpy(&mode, &wan_udp.wan_udphdr_data[8], sizeof(mode)); BANNER("ADSL ATM CONFIGURATION"); Index: wanpipe-3.5.27.4/util/wanpipemon/ss7pipemon.c =================================================================== --- wanpipe-3.5.27.4.orig/util/wanpipemon/ss7pipemon.c +++ wanpipe-3.5.27.4/util/wanpipemon/ss7pipemon.c @@ -817,7 +817,7 @@ static void ss7_router_up_time( void ) wan_udp.wan_udphdr_data[0] = 0; DO_COMMAND(wan_udp); - time = *(unsigned long*)&wan_udp.wan_udphdr_data[0]; + memcpy(&time, wan_udp.wan_udphdr_data, sizeof(time)); BANNER("ROUTER UP TIME"); Index: wanpipe-3.5.27.4/util/wanpipemon/usbpipemon.c =================================================================== --- wanpipe-3.5.27.4.orig/util/wanpipemon/usbpipemon.c +++ wanpipe-3.5.27.4/util/wanpipemon/usbpipemon.c @@ -573,7 +573,7 @@ static void usb_router_up_time( void ) wan_udp.wan_udphdr_data[0] = 0; DO_COMMAND(wan_udp); - time = *(u_int32_t*)&wan_udp.wan_udphdr_data[0]; + memcpy(&time, wan_udp.wan_udphdr_data, sizeof(time)); BANNER("ROUTER UP TIME");
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor