mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-20 17:52:52 +00:00
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)
|
||||
_parse_pagefault();
|
||||
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()
|
||||
{
|
||||
memcpy(l4_utcb_exc(), &_regs, sizeof(l4_exc_regs_t));
|
||||
_regs = *l4_utcb_exc();
|
||||
l4_cap_idx_t dst = Fiasco::Capability::valid(_last.kcap)
|
||||
? _last.kcap : (l4_cap_idx_t)L4_SYSF_REPLY;
|
||||
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 };
|
||||
|
||||
char _session_args[FORMAT_STRING_SIZE];
|
||||
char _affinity_arg[sizeof(Affinity)];
|
||||
|
||||
Affinity _affinity_arg { };
|
||||
|
||||
void _session(Parent &,
|
||||
Affinity const &affinity,
|
||||
@ -99,17 +100,14 @@ class Genode::Connection : public Connection_base
|
||||
sc.vprintf(format_args, list);
|
||||
va_end(list);
|
||||
|
||||
memcpy(_affinity_arg, &affinity, sizeof(Affinity));
|
||||
_affinity_arg = affinity;
|
||||
}
|
||||
|
||||
Capability<SESSION_TYPE> _request_cap()
|
||||
{
|
||||
Affinity affinity;
|
||||
memcpy(&affinity, _affinity_arg, sizeof(Affinity));
|
||||
|
||||
try {
|
||||
return _env.session<SESSION_TYPE>(_id_space_element.id(),
|
||||
_session_args, affinity); }
|
||||
_session_args, _affinity_arg); }
|
||||
catch (...) {
|
||||
error(SESSION_TYPE::service_name(), "-session creation failed "
|
||||
"(", Cstring(_session_args), ")");
|
||||
|
@ -50,14 +50,10 @@ namespace Genode {
|
||||
char const *string = string_buf.string();
|
||||
size_t len = strlen(string);
|
||||
|
||||
char buf[string_buf.MAX_SIZE];
|
||||
unsigned from_i = 0;
|
||||
|
||||
for (unsigned i = 0; i < len; i++) {
|
||||
if (string[i] == '\n') {
|
||||
memcpy(buf, string + from_i, i - from_i);
|
||||
buf[i - from_i] = 0;
|
||||
log("[", _label, "] ", Cstring(buf));
|
||||
log("[", _label, "] ", Cstring(string + from_i, i - from_i));
|
||||
from_i = i + 1;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user