libbb: create and use mmap() helpers
function old new delta mmap_anon - 22 +22 mmap_read - 21 +21 xmmap_anon - 16 +16 rpm_gettags 465 447 -18 bb_full_fd_action 498 480 -18 uevent_main 337 310 -27 ------------------------------------------------------------------------------ (add/remove: 3/0 grow/shrink: 0/3 up/down: 59/-63) Total: -4 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
@ -111,6 +111,27 @@ void* FAST_FUNC xmemdup(const void *s, int n)
|
||||
return memcpy(xmalloc(n), s, n);
|
||||
}
|
||||
|
||||
void* FAST_FUNC mmap_read(int fd, size_t size)
|
||||
{
|
||||
return mmap(NULL, size, PROT_READ, MAP_PRIVATE, fd, 0);
|
||||
}
|
||||
|
||||
void* FAST_FUNC mmap_anon(size_t size)
|
||||
{
|
||||
return mmap(NULL, size,
|
||||
PROT_READ | PROT_WRITE,
|
||||
MAP_PRIVATE | MAP_ANONYMOUS,
|
||||
/* ignored: */ -1, 0);
|
||||
}
|
||||
|
||||
void* FAST_FUNC xmmap_anon(size_t size)
|
||||
{
|
||||
void *p = mmap_anon(size);
|
||||
if (p == MAP_FAILED)
|
||||
bb_die_memory_exhausted();
|
||||
return p;
|
||||
}
|
||||
|
||||
// Die if we can't open a file and return a FILE* to it.
|
||||
// Notice we haven't got xfread(), This is for use with fscanf() and friends.
|
||||
FILE* FAST_FUNC xfopen(const char *path, const char *mode)
|
||||
|
Reference in New Issue
Block a user