diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-08-06 11:53:42 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-08-10 07:14:43 +0200 |
commit | b2de4260c5c71e518742731a8cdebe3411937181 (patch) | |
tree | f61b88bcb073b9787b25f280b3eac2b3408a8448 /cpukit/rtems/src/dpmemexternal2internal.c | |
parent | rtems: Parameter types in rtems_partition_create() (diff) | |
download | rtems-b2de4260c5c71e518742731a8cdebe3411937181.tar.bz2 |
score: Fix _Addresses_Subtract()
Use architecture-specific integer type for an address difference.
Update #3486.
Diffstat (limited to 'cpukit/rtems/src/dpmemexternal2internal.c')
-rw-r--r-- | cpukit/rtems/src/dpmemexternal2internal.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/cpukit/rtems/src/dpmemexternal2internal.c b/cpukit/rtems/src/dpmemexternal2internal.c index 0456010675..0d9a754b23 100644 --- a/cpukit/rtems/src/dpmemexternal2internal.c +++ b/cpukit/rtems/src/dpmemexternal2internal.c @@ -29,7 +29,7 @@ rtems_status_code rtems_port_external_to_internal( { Dual_ported_memory_Control *the_port; ISR_lock_Context lock_context; - uint32_t ending; + uintptr_t length; if ( internal == NULL ) { return RTEMS_INVALID_ADDRESS; @@ -41,12 +41,12 @@ rtems_status_code rtems_port_external_to_internal( return RTEMS_INVALID_ID; } - ending = _Addresses_Subtract( external, the_port->external_base ); + length = (uintptr_t) _Addresses_Subtract( external, the_port->external_base ); - if ( ending > the_port->length ) { + if ( length > the_port->length ) { *internal = external; } else { - *internal = _Addresses_Add_offset( the_port->internal_base, ending ); + *internal = _Addresses_Add_offset( the_port->internal_base, length ); } _ISR_lock_ISR_enable( &lock_context ); |