Cleanup leftover libs.
[dragonfly.git] / contrib / grep / lib / colorize-posix.c
blob9261ae170665b4647b5954bf6b32b1d8faf6c7db
1 /* Output colorization.
2 Copyright 2011-2015 Free Software Foundation, Inc.
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 3, or (at your option)
7 any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
17 02110-1301, USA. */
19 /* Without this pragma, gcc 4.7.0 20120102 suggests that the
20 init_colorize function might be candidate for attribute 'const' */
21 #if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__
22 # pragma GCC diagnostic ignored "-Wsuggest-attribute=const"
23 #endif
25 #include <config.h>
27 #include "colorize.h"
29 #include <stdio.h>
30 #include <stdlib.h>
31 #include <string.h>
32 #include <unistd.h>
34 /* Return non-zero if we should highlight matches in output to file
35 descriptor FD. */
36 int
37 should_colorize (void)
39 char const *t = getenv ("TERM");
40 return t && strcmp (t, "dumb") != 0;
43 void init_colorize (void) { }
45 /* Start a colorized text attribute on stdout using the SGR_START
46 format; the attribute is specified by SGR_SEQ. */
47 void
48 print_start_colorize (char const *sgr_start, char const *sgr_seq)
50 printf (sgr_start, sgr_seq);
53 /* Restore the normal text attribute using the SGR_END string. */
54 void
55 print_end_colorize (char const *sgr_end)
57 fputs (sgr_end, stdout);