Move the itoa function to strings.c

This commit is contained in:
Aurora 2016-08-30 21:32:15 +02:00
parent 5406d648bc
commit a84f393bd5
3 changed files with 17 additions and 11 deletions

View File

@ -181,17 +181,8 @@ u32 firmRead(void *dest, u32 firmType)
//Complete the string with the .app name
concatenateStrings(path, "/00000000.app");
//Last digit of the .app
u32 i = 42;
//Convert back the .app name from integer to array
u32 tempVersion = firmVersion;
while(tempVersion)
{
static const char hexDigits[] = "0123456789ABCDEF";
path[i--] = hexDigits[tempVersion & 0xF];
tempVersion >>= 4;
}
hexItoa(firmVersion, &path[35]);
fileRead(dest, path);

View File

@ -38,4 +38,18 @@ void concatenateStrings(char *destination, const char *source)
j = strlen(destination);
memcpy(&destination[j], source, i + 1);
}
void hexItoa(u32 number, char *out)
{
const char hexDigits[] = "0123456789ABCDEF";
u32 i = 0;
while(number > 0)
{
out[7 - i++] = hexDigits[number & 0xF];
number >>= 4;
}
for(; i < 8; i++) out[7 - i] = '0';
}

View File

@ -25,4 +25,5 @@
#include "types.h"
int strlen(const char *string);
void concatenateStrings(char *destination, const char *source);
void concatenateStrings(char *destination, const char *source);
void hexItoa(u32 number, char *out);