1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/pkg/semtech-loramac/patches/0003-adapt-utilities-functions.patch
Alexandre Abadie a528f96d7d pkg/semtech-loramac: use random_uin32() to generate random integer
Then the patched srand1 function used by loramac is closer to the original code and won't crash because of negative values
2018-07-10 08:58:46 +02:00

91 lines
2.0 KiB
Diff

From 1143af922083090a08761ab1a871c7922962218f Mon Sep 17 00:00:00 2001
From: Alexandre Abadie <alexandre.abadie@inria.fr>
Date: Tue, 16 Jan 2018 15:04:09 +0100
Subject: [PATCH] patch utilities functions
---
src/boards/mcu/stm32/utilities.c | 46 +++++++++-----------------------
1 file changed, 12 insertions(+), 34 deletions(-)
diff --git a/src/boards/mcu/stm32/utilities.c b/src/boards/mcu/stm32/utilities.c
index 8861235..e339ba5 100644
--- a/src/boards/mcu/stm32/utilities.c
+++ b/src/boards/mcu/stm32/utilities.c
@@ -14,8 +14,10 @@ Maintainer: Miguel Luis and Gregory Cristian
*/
#include <stdlib.h>
#include <stdio.h>
-#include "board.h"
+#include <string.h>
#include "utilities.h"
+#include "semtech-loramac/board.h"
+#include "random.h"
/*!
* Redefinition of rand() and srand() standard C functions.
@@ -34,52 +36,28 @@ int32_t rand1( void )
void srand1( uint32_t seed )
{
- next = seed;
-}
-// Standard random functions redefinition end
+ (void) seed;
+};
int32_t randr( int32_t min, int32_t max )
{
- return ( int32_t )rand1( ) % ( max - min + 1 ) + min;
-}
+ return (int32_t)random_uint32() % (max - min + 1) + min;
+};
void memcpy1( uint8_t *dst, const uint8_t *src, uint16_t size )
{
- while( size-- )
- {
- *dst++ = *src++;
- }
-}
+ memcpy(dst, src, size);
+};
void memcpyr( uint8_t *dst, const uint8_t *src, uint16_t size )
{
- dst = dst + ( size - 1 );
- while( size-- )
- {
+ dst = dst + (size - 1);
+ while (size--) {
*dst-- = *src++;
}
}
void memset1( uint8_t *dst, uint8_t value, uint16_t size )
{
- while( size-- )
- {
- *dst++ = value;
- }
-}
-
-int8_t Nibble2HexChar( uint8_t a )
-{
- if( a < 10 )
- {
- return '0' + a;
- }
- else if( a < 16 )
- {
- return 'A' + ( a - 10 );
- }
- else
- {
- return '?';
- }
+ memset(dst, value, size);
}
--
2.17.1