Em Mon, Dec 07, 2015 at 10:21:42PM -0600, Josh Poimboeuf escreveu: > The term functions are needed by help.c which is going to be moved into > a separate library. Move them out of util.c and into their own file.
Applied, after some minor fixups due to the fact that the previous patch is still being discussed. > Signed-off-by: Josh Poimboeuf <jpoim...@redhat.com> > --- > tools/perf/util/Build | 1 + > tools/perf/util/term.c | 35 +++++++++++++++++++++++++++++++++++ > tools/perf/util/term.h | 7 +++++++ > tools/perf/util/util.c | 34 ---------------------------------- > tools/perf/util/util.h | 4 +--- > 5 files changed, 44 insertions(+), 37 deletions(-) > create mode 100644 tools/perf/util/term.c > create mode 100644 tools/perf/util/term.h > > diff --git a/tools/perf/util/Build b/tools/perf/util/Build > index 0513dd5..6c3bbd5 100644 > --- a/tools/perf/util/Build > +++ b/tools/perf/util/Build > @@ -87,6 +87,7 @@ libperf-$(CONFIG_AUXTRACE) += intel-pt.o > libperf-$(CONFIG_AUXTRACE) += intel-bts.o > libperf-y += parse-branch-options.o > libperf-y += parse-regs-options.o > +libperf-y += term.o > > libperf-$(CONFIG_LIBBPF) += bpf-loader.o > libperf-$(CONFIG_BPF_PROLOGUE) += bpf-prologue.o > diff --git a/tools/perf/util/term.c b/tools/perf/util/term.c > new file mode 100644 > index 0000000..90b47d8 > --- /dev/null > +++ b/tools/perf/util/term.c > @@ -0,0 +1,35 @@ > +#include "util.h" > + > +void get_term_dimensions(struct winsize *ws) > +{ > + char *s = getenv("LINES"); > + > + if (s != NULL) { > + ws->ws_row = atoi(s); > + s = getenv("COLUMNS"); > + if (s != NULL) { > + ws->ws_col = atoi(s); > + if (ws->ws_row && ws->ws_col) > + return; > + } > + } > +#ifdef TIOCGWINSZ > + if (ioctl(1, TIOCGWINSZ, ws) == 0 && > + ws->ws_row && ws->ws_col) > + return; > +#endif > + ws->ws_row = 25; > + ws->ws_col = 80; > +} > + > +void set_term_quiet_input(struct termios *old) > +{ > + struct termios tc; > + > + tcgetattr(0, old); > + tc = *old; > + tc.c_lflag &= ~(ICANON | ECHO); > + tc.c_cc[VMIN] = 0; > + tc.c_cc[VTIME] = 0; > + tcsetattr(0, TCSANOW, &tc); > +} > diff --git a/tools/perf/util/term.h b/tools/perf/util/term.h > new file mode 100644 > index 0000000..7b13f46 > --- /dev/null > +++ b/tools/perf/util/term.h > @@ -0,0 +1,7 @@ > +#ifndef __PERF_TERM_H > +#define __PERF_TERM_H > + > +void get_term_dimensions(struct winsize *ws); > +void set_term_quiet_input(struct termios *old); > + > +#endif /* __PERF_TERM_H */ > diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c > index 75759ae..07da970 100644 > --- a/tools/perf/util/util.c > +++ b/tools/perf/util/util.c > @@ -355,40 +355,6 @@ void sighandler_dump_stack(int sig) > exit(sig); > } > > -void get_term_dimensions(struct winsize *ws) > -{ > - char *s = getenv("LINES"); > - > - if (s != NULL) { > - ws->ws_row = atoi(s); > - s = getenv("COLUMNS"); > - if (s != NULL) { > - ws->ws_col = atoi(s); > - if (ws->ws_row && ws->ws_col) > - return; > - } > - } > -#ifdef TIOCGWINSZ > - if (ioctl(1, TIOCGWINSZ, ws) == 0 && > - ws->ws_row && ws->ws_col) > - return; > -#endif > - ws->ws_row = 25; > - ws->ws_col = 80; > -} > - > -void set_term_quiet_input(struct termios *old) > -{ > - struct termios tc; > - > - tcgetattr(0, old); > - tc = *old; > - tc.c_lflag &= ~(ICANON | ECHO); > - tc.c_cc[VMIN] = 0; > - tc.c_cc[VTIME] = 0; > - tcsetattr(0, TCSANOW, &tc); > -} > - > int parse_nsec_time(const char *str, u64 *ptime) > { > u64 time_sec, time_nsec; > diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h > index cd0d9b0..d8e3d8d 100644 > --- a/tools/perf/util/util.h > +++ b/tools/perf/util/util.h > @@ -9,6 +9,7 @@ > #include "srcline.h" > #include "strbuf.h" > #include "string.h" > +#include "term.h" > #include "usage.h" > #include "wrapper.h" > #include "zlib.h" > @@ -38,9 +39,6 @@ void sighandler_dump_stack(int sig); > extern unsigned int page_size; > extern int cacheline_size; > > -void get_term_dimensions(struct winsize *ws); > -void set_term_quiet_input(struct termios *old); > - > struct parse_tag { > char tag; > int mult; > -- > 2.4.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/