// 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); }