Maybe fixed bugs with long usernames??
This commit is contained in:
parent
23b41d7ac7
commit
25b444ca95
3 changed files with 17 additions and 35 deletions
|
@ -104,24 +104,16 @@ void manager_savepass(Password* pass) {
|
||||||
// Our resulting string
|
// Our resulting string
|
||||||
char* result = store_load("Data");
|
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?
|
// Is the result empty?
|
||||||
if(!result) {
|
if(!result) {
|
||||||
// Allocating result
|
// Allocating result
|
||||||
FuriString* n_result = furi_string_alloc();
|
FuriString* n_result = furi_string_alloc();
|
||||||
|
|
||||||
// Setting stuff
|
// 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
|
// 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));
|
strcpy(data, furi_string_get_cstr(n_result));
|
||||||
store_save("Data", data);
|
store_save("Data", data);
|
||||||
|
|
||||||
|
@ -133,10 +125,10 @@ void manager_savepass(Password* pass) {
|
||||||
FuriString* new_result = furi_string_alloc();
|
FuriString* new_result = furi_string_alloc();
|
||||||
|
|
||||||
// Appending addon to result
|
// 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
|
// 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));
|
strcpy(data, furi_string_get_cstr(new_result));
|
||||||
store_save("Data", data);
|
store_save("Data", data);
|
||||||
|
|
||||||
|
@ -145,6 +137,9 @@ void manager_savepass(Password* pass) {
|
||||||
free(result);
|
free(result);
|
||||||
free(data);
|
free(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Freeing password
|
||||||
|
pass_free(pass);
|
||||||
}
|
}
|
||||||
void manager_loadpass(Manager* manager, char* name) {
|
void manager_loadpass(Manager* manager, char* name) {
|
||||||
// Freeing previous password
|
// Freeing previous password
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
// Header
|
// Header
|
||||||
#include "create.h"
|
#include "create.h"
|
||||||
|
|
||||||
|
// Constants
|
||||||
|
#define KEYBOARD_STR_LEN 64
|
||||||
|
|
||||||
// Structures
|
// Structures
|
||||||
typedef enum {
|
typedef enum {
|
||||||
FP_Scene_Create_Event_Name,
|
FP_Scene_Create_Event_Name,
|
||||||
|
@ -34,34 +37,18 @@ void FP_Scene_Enter_Create(void* context) {
|
||||||
// Checking what we selected
|
// Checking what we selected
|
||||||
switch (app->selection) {
|
switch (app->selection) {
|
||||||
case 0: // Name
|
case 0: // Name
|
||||||
// Does name already exist?
|
free(app->manager->new->name);
|
||||||
if (app->manager->new->name) {
|
app->manager->new->name = malloc(sizeof(char) * KEYBOARD_STR_LEN);
|
||||||
free(app->manager->new->name);
|
|
||||||
app->manager->new->name = malloc(sizeof(char*));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Copying it
|
|
||||||
strcpy(app->manager->new->name, app->keyboard);
|
strcpy(app->manager->new->name, app->keyboard);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 1: // Username
|
case 1: // Username
|
||||||
// Does user already exist?
|
free(app->manager->new->user);
|
||||||
if (app->manager->new->user) {
|
app->manager->new->user = malloc(sizeof(char) * KEYBOARD_STR_LEN);
|
||||||
free(app->manager->new->user);
|
|
||||||
app->manager->new->user = malloc(sizeof(char*));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Copying it
|
|
||||||
strcpy(app->manager->new->user, app->keyboard);
|
strcpy(app->manager->new->user, app->keyboard);
|
||||||
break;
|
break;
|
||||||
case 2: // Password
|
case 2: // Password
|
||||||
// Does phrase already exist?
|
free(app->manager->new->phrase);
|
||||||
if (app->manager->new->phrase) {
|
app->manager->new->phrase = malloc(sizeof(char) * KEYBOARD_STR_LEN);
|
||||||
free(app->manager->new->phrase);
|
|
||||||
app->manager->new->phrase = malloc(sizeof(char*));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Copying it
|
|
||||||
strcpy(app->manager->new->phrase, app->keyboard);
|
strcpy(app->manager->new->phrase, app->keyboard);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ void FP_Scene_Enter_Type(void* context) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Creating keyboard string
|
// Creating keyboard string
|
||||||
app->keyboard = malloc(sizeof(char*) * KEYBOARD_STR_LEN);
|
app->keyboard = malloc(sizeof(char) * KEYBOARD_STR_LEN);
|
||||||
|
|
||||||
// Setting stuff
|
// Setting stuff
|
||||||
text_input_set_result_callback(
|
text_input_set_result_callback(
|
||||||
|
|
Loading…
Reference in a new issue