Re: [PATCH v2 04/14] perf: Move term functions out of util.c
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 > --- > 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 000..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, ); > +} > diff --git a/tools/perf/util/term.h b/tools/perf/util/term.h > new file mode 100644 > index 000..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, ); > -} > - > 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/
Re: [PATCH v2 04/14] perf: Move term functions out of util.c
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> --- > 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 000..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, ); > +} > diff --git a/tools/perf/util/term.h b/tools/perf/util/term.h > new file mode 100644 > index 000..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, ); > -} > - > 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/
[PATCH v2 04/14] perf: Move term functions out of util.c
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. Signed-off-by: Josh Poimboeuf --- 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 000..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, ); +} diff --git a/tools/perf/util/term.h b/tools/perf/util/term.h new file mode 100644 index 000..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, ); -} - 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/
[PATCH v2 04/14] perf: Move term functions out of util.c
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. Signed-off-by: Josh Poimboeuf--- 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 000..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, ); +} diff --git a/tools/perf/util/term.h b/tools/perf/util/term.h new file mode 100644 index 000..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, ); -} - 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/