mirror of https://github.com/keeweb/keeweb
etter error handling
parent
603e698f5a
commit
dc5ada1c04
|
@ -39,27 +39,6 @@ struct State {
|
|||
|
||||
State state{};
|
||||
|
||||
std::string keeweb_pipe_name() {
|
||||
std::string pipe_name;
|
||||
|
||||
uv_passwd_t user_info;
|
||||
auto err = uv_os_get_passwd(&user_info);
|
||||
|
||||
if (err) {
|
||||
std::cerr << "Error getting user: " << uv_err_name(err) << std::endl;
|
||||
} else {
|
||||
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32)
|
||||
pipe_name = "\\\\.\\pipe\\keeweb-browser-" + std::string{user_info.username};
|
||||
#else
|
||||
pipe_name = std::filesystem::temp_directory_path() /
|
||||
("keeweb-browser-" + std::to_string(user_info.uid) + ".sock");
|
||||
#endif
|
||||
uv_os_free_passwd(&user_info);
|
||||
}
|
||||
|
||||
return pipe_name;
|
||||
}
|
||||
|
||||
void process_keeweb_queue();
|
||||
void process_stdout_queue();
|
||||
void close_keeweb_pipe();
|
||||
|
@ -214,10 +193,35 @@ void keeweb_pipe_connect_cb(uv_connect_t *req, int status) {
|
|||
}
|
||||
}
|
||||
|
||||
std::string keeweb_pipe_name() {
|
||||
std::string pipe_name;
|
||||
|
||||
uv_passwd_t user_info;
|
||||
auto err = uv_os_get_passwd(&user_info);
|
||||
|
||||
if (err) {
|
||||
std::cerr << "Error getting user info: " << uv_err_name(err) << std::endl;
|
||||
} else {
|
||||
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32)
|
||||
pipe_name = "\\\\.\\pipe\\keeweb-browser-" + std::string{user_info.username};
|
||||
#else
|
||||
pipe_name = std::filesystem::temp_directory_path() /
|
||||
("keeweb-browser-" + std::to_string(user_info.uid) + ".sock");
|
||||
#endif
|
||||
uv_os_free_passwd(&user_info);
|
||||
}
|
||||
|
||||
return pipe_name;
|
||||
}
|
||||
|
||||
void connect_keeweb_pipe() {
|
||||
state.keeweb_connect_attempts++;
|
||||
|
||||
auto pipe_name = keeweb_pipe_name();
|
||||
if (pipe_name.empty()) {
|
||||
quit_on_error();
|
||||
return;
|
||||
}
|
||||
|
||||
auto keeweb_pipe = new uv_pipe_t{};
|
||||
uv_pipe_init(uv_default_loop(), keeweb_pipe, false);
|
||||
|
|
Loading…
Reference in New Issue