base: avoid use of memcpy
This commit is contained in:
parent
37ec636018
commit
6947bddd3f
|
@ -36,7 +36,7 @@ void Ipc_pager::_parse(unsigned long label) {
|
||||||
if (_type == PAGEFAULT || _type == EXCEPTION)
|
if (_type == PAGEFAULT || _type == EXCEPTION)
|
||||||
_parse_pagefault();
|
_parse_pagefault();
|
||||||
if (_type == PAUSE || _type == EXCEPTION)
|
if (_type == PAUSE || _type == EXCEPTION)
|
||||||
memcpy(&_regs, l4_utcb_exc(), sizeof(l4_exc_regs_t));
|
_regs = *l4_utcb_exc();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -134,7 +134,7 @@ void Ipc_pager::acknowledge_wakeup()
|
||||||
|
|
||||||
void Ipc_pager::acknowledge_exception()
|
void Ipc_pager::acknowledge_exception()
|
||||||
{
|
{
|
||||||
memcpy(l4_utcb_exc(), &_regs, sizeof(l4_exc_regs_t));
|
_regs = *l4_utcb_exc();
|
||||||
l4_cap_idx_t dst = Fiasco::Capability::valid(_last.kcap)
|
l4_cap_idx_t dst = Fiasco::Capability::valid(_last.kcap)
|
||||||
? _last.kcap : (l4_cap_idx_t)L4_SYSF_REPLY;
|
? _last.kcap : (l4_cap_idx_t)L4_SYSF_REPLY;
|
||||||
Fiasco::l4_msgtag_t const msg_tag =
|
Fiasco::l4_msgtag_t const msg_tag =
|
||||||
|
|
|
@ -89,7 +89,8 @@ class Genode::Connection : public Connection_base
|
||||||
enum { FORMAT_STRING_SIZE = Parent::Session_args::MAX_SIZE };
|
enum { FORMAT_STRING_SIZE = Parent::Session_args::MAX_SIZE };
|
||||||
|
|
||||||
char _session_args[FORMAT_STRING_SIZE];
|
char _session_args[FORMAT_STRING_SIZE];
|
||||||
char _affinity_arg[sizeof(Affinity)];
|
|
||||||
|
Affinity _affinity_arg { };
|
||||||
|
|
||||||
void _session(Parent &,
|
void _session(Parent &,
|
||||||
Affinity const &affinity,
|
Affinity const &affinity,
|
||||||
|
@ -99,17 +100,14 @@ class Genode::Connection : public Connection_base
|
||||||
sc.vprintf(format_args, list);
|
sc.vprintf(format_args, list);
|
||||||
va_end(list);
|
va_end(list);
|
||||||
|
|
||||||
memcpy(_affinity_arg, &affinity, sizeof(Affinity));
|
_affinity_arg = affinity;
|
||||||
}
|
}
|
||||||
|
|
||||||
Capability<SESSION_TYPE> _request_cap()
|
Capability<SESSION_TYPE> _request_cap()
|
||||||
{
|
{
|
||||||
Affinity affinity;
|
|
||||||
memcpy(&affinity, _affinity_arg, sizeof(Affinity));
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return _env.session<SESSION_TYPE>(_id_space_element.id(),
|
return _env.session<SESSION_TYPE>(_id_space_element.id(),
|
||||||
_session_args, affinity); }
|
_session_args, _affinity_arg); }
|
||||||
catch (...) {
|
catch (...) {
|
||||||
error(SESSION_TYPE::service_name(), "-session creation failed "
|
error(SESSION_TYPE::service_name(), "-session creation failed "
|
||||||
"(", Cstring(_session_args), ")");
|
"(", Cstring(_session_args), ")");
|
||||||
|
|
|
@ -50,14 +50,10 @@ namespace Genode {
|
||||||
char const *string = string_buf.string();
|
char const *string = string_buf.string();
|
||||||
size_t len = strlen(string);
|
size_t len = strlen(string);
|
||||||
|
|
||||||
char buf[string_buf.MAX_SIZE];
|
|
||||||
unsigned from_i = 0;
|
unsigned from_i = 0;
|
||||||
|
|
||||||
for (unsigned i = 0; i < len; i++) {
|
for (unsigned i = 0; i < len; i++) {
|
||||||
if (string[i] == '\n') {
|
if (string[i] == '\n') {
|
||||||
memcpy(buf, string + from_i, i - from_i);
|
log("[", _label, "] ", Cstring(string + from_i, i - from_i));
|
||||||
buf[i - from_i] = 0;
|
|
||||||
log("[", _label, "] ", Cstring(buf));
|
|
||||||
from_i = i + 1;
|
from_i = i + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue