implemented client-server connection, but found out RSA is broken
This commit is contained in:
36
src/config.c
Normal file
36
src/config.c
Normal file
@@ -0,0 +1,36 @@
|
||||
#include "config.h"
|
||||
|
||||
Result(void) config_findValue(str config_str, str key, str* value, bool throwNotFoundError){
|
||||
u32 line_n = 0;
|
||||
while(config_str.size > 0){
|
||||
line_n++;
|
||||
i32 line_end = str_seekChar(config_str, '\n', 0);
|
||||
if(line_end < 0)
|
||||
line_end = config_str.size - 1;
|
||||
str line = str_sliceBefore(config_str, line_end);
|
||||
config_str = str_sliceAfter(config_str, line_end + 1);
|
||||
|
||||
i32 sep_pos = str_seekChar(line, '=', 1);
|
||||
if(sep_pos < 0){
|
||||
//not a 'key = value' line
|
||||
continue;
|
||||
}
|
||||
|
||||
str line_key = str_sliceBefore(line, sep_pos - 1);
|
||||
str_trim(&line_key, false);
|
||||
if(str_equals(line_key, key)){
|
||||
str line_value = str_sliceAfter(line, sep_pos + 1);
|
||||
str_trim(&line_value, false);
|
||||
*value = line_value;
|
||||
return RESULT_VOID;
|
||||
}
|
||||
}
|
||||
|
||||
if(throwNotFoundError){
|
||||
char* key_cstr = str_copy(key).data;
|
||||
char* err_msg = sprintf_malloc(key.size + 64, "can't find key '%s'", key_cstr);
|
||||
free(key_cstr);
|
||||
return RESULT_ERROR(err_msg, true);
|
||||
}
|
||||
return RESULT_VOID;
|
||||
}
|
||||
Reference in New Issue
Block a user