FlippyPass/project/backend/manager.c

79 lines
No EOL
2 KiB
C

// Header
#include "manager.h"
// Functions - Private
char** split_string(const char* str, char delimiter, int* count) {
// Calculate how many substrings will be created
int i, numSubstrings = 1;
for (i = 0; str[i] != '\0'; i++) {
if (str[i] == delimiter) {
numSubstrings++;
}
}
// Allocate memory for the array of strings
char** result = malloc(numSubstrings * sizeof(char*));
*count = numSubstrings;
// Split the string
int start = 0, substringIndex = 0;
for (i = 0; str[i] != '\0'; i++) {
if (str[i] == delimiter) {
int length = i - start;
result[substringIndex] = malloc((length + 1) * sizeof(char));
strncpy(result[substringIndex], str + start, length);
result[substringIndex][length] = '\0';
start = i + 1;
substringIndex++;
}
}
// Add the last substring
int length = i - start;
result[substringIndex] = malloc((length + 1) * sizeof(char));
strncpy(result[substringIndex], str + start, length);
result[substringIndex][length] = '\0';
return result;
}
// Constructors
Manager* manager_create() {
// Creating result in memory
Manager* result = malloc(sizeof(Manager));
// Returning manager
return result;
}
// Functions
void manager_loadnames(Manager* manager, int page){
// Relieving unused parameters
UNUSED(manager);
UNUSED(page);
// Loading the next four passwords
char* data = store_load("Data");
// Splitting string
int count = 0;
char** split = split_string(data, '|', &count);
// Temporary variables
// Going through split string
for (int i = 0; i < count; i++) {
// Checking if it's the 4th number
if (i % 4 == 0) {
FURI_LOG_I(TAG, "\nName:");
}
FURI_LOG_I(TAG, "(%i): %s", i, split[i]);
}
// Cleanup
free(split);
free(data);
}
void manager_delete(Manager* manager) {
free(manager);
}