This repository has been archived by the owner on Feb 11, 2021. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
317 additions
and
330 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,119 @@ | ||
|
||
#include <SDL/SDL.h> | ||
|
||
#include "logger_helpers.h" | ||
|
||
/*! | ||
* Helper functions. Turns the given integer in to a string | ||
* | ||
* Note: uses static buffer internally, so the return value | ||
* isn't valid after the next call of this function. If you | ||
* want to retain the return value, make a copy of it | ||
* | ||
* \param integer The converted integer | ||
* \returns Given integer as string | ||
*/ | ||
char *IntToString(const int integer) { | ||
static char buffer[256]; // malloc might work better | ||
memset(buffer, 0, sizeof(buffer)); | ||
|
||
SDL_snprintf(buffer, sizeof(buffer), "%d", integer); | ||
|
||
return buffer; | ||
} | ||
|
||
/*! | ||
* Helper functions. Turns the given double value in to a string | ||
* | ||
* Note: uses static buffer internally, so the return value | ||
* isn't valid after the next call of this function. If you | ||
* want to retain the return value, make a copy of it | ||
* | ||
* \param decimal The converted double value | ||
* \returns Given double value as string | ||
*/ | ||
char *DoubleToString(const double decimal) { | ||
static char buffer[256]; // malloc might work better | ||
memset(buffer, 0, sizeof(buffer)); | ||
|
||
SDL_snprintf(buffer, sizeof(buffer), "%.5f", decimal); | ||
|
||
return buffer; | ||
} | ||
|
||
/*! | ||
* Converts unix timestamp to its ascii presentation | ||
* | ||
* Note: uses static buffer internally, so the return value | ||
* isn't valid after the next call of this function. If you | ||
* want to retain the return value, make a copy of it | ||
* | ||
* \param timestamp Timestamp | ||
* \return Ascii presentation | ||
*/ | ||
char *TimestampToString(const time_t timestamp) { | ||
static char buffer[256]; | ||
memset(buffer, 0, sizeof(buffer)); | ||
|
||
time_t copy = timestamp; | ||
|
||
struct tm *local = localtime(©); | ||
strftime(buffer, sizeof(buffer), "%a %Y-%m-%d %H:%M:%S %Z", local); | ||
|
||
return buffer; | ||
} | ||
|
||
/*! Turns all the characters of the given | ||
* string to lowercase and returns the resulting string. | ||
* | ||
* \param string String to be converted | ||
* \return Newly allocated lower-case version of the given string | ||
*/ | ||
char * | ||
ToLowerCase(const char *string) | ||
{ | ||
if(ValidateString(string) == 0) { | ||
return NULL; | ||
} | ||
|
||
const int size = SDL_strlen(string); | ||
char *ret = SDL_malloc(size + 1); | ||
strncpy(ret, string, size); | ||
ret[size] = '\0'; | ||
|
||
int counter = 0; | ||
for(; counter < size; ++counter) { | ||
ret[counter] = tolower(ret[counter]); | ||
} | ||
|
||
// printf("Debug: %s == %s\n", string, ret); | ||
|
||
return ret; | ||
} | ||
|
||
/*! | ||
* Validates string by checking that given string is not | ||
* NULL, its length is non-zero etc. | ||
* | ||
* \param string Validated string | ||
* \returns 1 if string is valid, otherwise 0 | ||
*/ | ||
int | ||
ValidateString(const char *string) | ||
{ | ||
int retVal = 1; | ||
|
||
if(string != NULL) { | ||
if(SDL_strlen(string) > 0) { | ||
retVal = 1; | ||
} | ||
|
||
retVal = 1; | ||
} else { | ||
retVal = 0; | ||
} | ||
|
||
return retVal; | ||
} | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
#ifndef _LOGGER_HELPERS_G | ||
#define _LOGGER_HELPERS_G | ||
|
||
#include <time.h> | ||
|
||
char *IntToString(const int integer); | ||
|
||
char *DoubleToString(const double decimal); | ||
|
||
char *TimestampToString(const time_t timestamp); | ||
|
||
char *ToLowerCase(const char *string); | ||
|
||
int ValidateString(const char *string); | ||
|
||
#endif |
Oops, something went wrong.