Maybe fixed bugs with long usernames??

This commit is contained in:
Maddox Werts 2024-09-08 22:09:59 -04:00
parent 23b41d7ac7
commit 25b444ca95
3 changed files with 17 additions and 35 deletions

View file

@ -103,14 +103,6 @@ Manager* manager_init() {
void manager_savepass(Password* pass) {
// Our resulting string
char* result = store_load("Data");
// Storing important bits from password
const char* name = pass->name;
const char* user = pass->user;
const char* phrase = pass->phrase;
// Freeing password
pass_free(pass);
// Is the result empty?
if(!result) {
@ -118,10 +110,10 @@ void manager_savepass(Password* pass) {
FuriString* n_result = furi_string_alloc();
// Setting stuff
furi_string_printf(n_result, "%s|%s|%s|0", name, user, phrase);
furi_string_printf(n_result, "%s|%s|%s|0", pass->name, pass->user, pass->phrase);
// Saving the data
char* data = malloc(sizeof(char));
char* data = malloc(sizeof(char) * furi_string_size(n_result));
strcpy(data, furi_string_get_cstr(n_result));
store_save("Data", data);
@ -133,10 +125,10 @@ void manager_savepass(Password* pass) {
FuriString* new_result = furi_string_alloc();
// Appending addon to result
furi_string_printf(new_result, "%s|%s|%s|%s|0", result, name, user, phrase);
furi_string_printf(new_result, "%s|%s|%s|%s|0", result, pass->name, pass->user, pass->phrase);
// Saving the data
char* data = malloc(sizeof(char));
char* data = malloc(sizeof(char) * furi_string_size(new_result));
strcpy(data, furi_string_get_cstr(new_result));
store_save("Data", data);
@ -145,6 +137,9 @@ void manager_savepass(Password* pass) {
free(result);
free(data);
}
// Freeing password
pass_free(pass);
}
void manager_loadpass(Manager* manager, char* name) {
// Freeing previous password

View file

@ -1,6 +1,9 @@
// Header
#include "create.h"
// Constants
#define KEYBOARD_STR_LEN 64
// Structures
typedef enum {
FP_Scene_Create_Event_Name,
@ -34,34 +37,18 @@ void FP_Scene_Enter_Create(void* context) {
// Checking what we selected
switch (app->selection) {
case 0: // Name
// Does name already exist?
if (app->manager->new->name) {
free(app->manager->new->name);
app->manager->new->name = malloc(sizeof(char*));
}
// Copying it
free(app->manager->new->name);
app->manager->new->name = malloc(sizeof(char) * KEYBOARD_STR_LEN);
strcpy(app->manager->new->name, app->keyboard);
break;
case 1: // Username
// Does user already exist?
if (app->manager->new->user) {
free(app->manager->new->user);
app->manager->new->user = malloc(sizeof(char*));
}
// Copying it
free(app->manager->new->user);
app->manager->new->user = malloc(sizeof(char) * KEYBOARD_STR_LEN);
strcpy(app->manager->new->user, app->keyboard);
break;
case 2: // Password
// Does phrase already exist?
if (app->manager->new->phrase) {
free(app->manager->new->phrase);
app->manager->new->phrase = malloc(sizeof(char*));
}
// Copying it
free(app->manager->new->phrase);
app->manager->new->phrase = malloc(sizeof(char) * KEYBOARD_STR_LEN);
strcpy(app->manager->new->phrase, app->keyboard);
break;
}

View file

@ -35,7 +35,7 @@ void FP_Scene_Enter_Type(void* context) {
}
// Creating keyboard string
app->keyboard = malloc(sizeof(char*) * KEYBOARD_STR_LEN);
app->keyboard = malloc(sizeof(char) * KEYBOARD_STR_LEN);
// Setting stuff
text_input_set_result_callback(