GDB (xrefs)
Loading...
Searching...
No Matches
gdb
contrib
expect-read1.c
Go to the documentation of this file.
1
/* Copyright (C) 2013-2023 Free Software Foundation, Inc.
2
3
This file is part of GDB.
4
5
This program is free software; you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation; either version 3 of the License, or
8
(at your option) any later version.
9
10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
GNU General Public License for more details.
14
15
You should have received a copy of the GNU General Public License
16
along with this program. If not, see <http://www.gnu.org/licenses/>. */
17
18
/* RTLD_NEXT requires _GNU_SOURCE. */
19
#define _GNU_SOURCE 1
20
#include <dlfcn.h>
21
#include <unistd.h>
22
#include <fcntl.h>
23
#include <stdlib.h>
24
25
ssize_t
26
read
(
int
fd,
void
*buf,
size_t
count)
27
{
28
static
ssize_t (*read2) (
int
fd,
void
*buf,
size_t
count) = NULL;
29
30
if
(read2 == NULL)
31
{
32
unsetenv (
"LD_PRELOAD"
);
33
read2 = dlsym (RTLD_NEXT,
"read"
);
34
}
35
36
if
(count > 1 && isatty (fd) == 1)
37
count = 1;
38
39
return
read2 (fd, buf, count);
40
}
read
ssize_t read(int fd, void *buf, size_t count)
Definition
expect-read1.c:26
Generated by
1.10.0