can use --color or have Color in pacman.conf
Signed-off-by: Daniel Wallace <[email protected]>
---
 src/pacman/Makefile.am | 3 +++
 src/pacman/conf.c      | 2 ++
 src/pacman/conf.h      | 1 +
 src/pacman/pacman.c    | 5 +++++
 4 files changed, 11 insertions(+)

diff --git a/src/pacman/Makefile.am b/src/pacman/Makefile.am
index c8ce977..cad67a6 100644
--- a/src/pacman/Makefile.am
+++ b/src/pacman/Makefile.am
@@ -2,6 +2,7 @@ SUBDIRS = po
 
 # paths set at make time
 conffile  = ${sysconfdir}/pacman.conf
+colorfile  = ${sysconfdir}/pacman.d/color.conf
 dbpath    = ${localstatedir}/lib/pacman/
 gpgdir    = ${sysconfdir}/pacman.d/gnupg/
 cachedir  = ${localstatedir}/cache/pacman/pkg/
@@ -11,6 +12,7 @@ bin_PROGRAMS = pacman
 
 DEFS = -DLOCALEDIR=\"@localedir@\" \
        -DCONFFILE=\"$(conffile)\" \
+       -DCOLORFILE=\"$(colorfile)\" \
        -DDBPATH=\"$(dbpath)\" \
        -DGPGDIR=\"$(gpgdir)\" \
        -DCACHEDIR=\"$(cachedir)\" \
@@ -30,6 +32,7 @@ endif
 
 pacman_SOURCES = \
        conf.h conf.c \
+       color.h color.c \
        database.c \
        deptest.c \
        package.h package.c \
diff --git a/src/pacman/conf.c b/src/pacman/conf.c
index 3b3d3df..a0d1be3 100644
--- a/src/pacman/conf.c
+++ b/src/pacman/conf.c
@@ -52,6 +52,7 @@ config_t *config_new(void)
        newconfig->op = PM_OP_MAIN;
        newconfig->logmask = ALPM_LOG_ERROR | ALPM_LOG_WARNING;
        newconfig->configfile = strdup(CONFFILE);
+       newconfig->colorfile = strdup(COLORFILE);
        newconfig->deltaratio = 0.0;
        if(alpm_capabilities() & ALPM_CAPABILITY_SIGNATURES) {
                newconfig->siglevel = ALPM_SIG_PACKAGE | 
ALPM_SIG_PACKAGE_OPTIONAL |
@@ -76,6 +77,7 @@ int config_free(config_t *oldconfig)
        FREELIST(oldconfig->noupgrade);
        FREELIST(oldconfig->noextract);
        free(oldconfig->configfile);
+       free(oldconfig->colorfile);
        free(oldconfig->rootdir);
        free(oldconfig->dbpath);
        free(oldconfig->logfile);
diff --git a/src/pacman/conf.h b/src/pacman/conf.h
index 3e17155..62343cb 100644
--- a/src/pacman/conf.h
+++ b/src/pacman/conf.h
@@ -41,6 +41,7 @@ typedef struct __config_t {
         * because they can come from both the command line or config file, and 
we
         * need to ensure we get the order of preference right. */
        char *configfile;
+       char *colorfile;
        char *rootdir;
        char *dbpath;
        char *logfile;
diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
index 732d7f3..0708dbf 100644
--- a/src/pacman/pacman.c
+++ b/src/pacman/pacman.c
@@ -46,6 +46,7 @@
 #include "pacman.h"
 #include "util.h"
 #include "conf.h"
+#include "color.h"
 
 /* list of targets specified on command line */
 static alpm_list_t *pm_targets;
@@ -868,6 +869,10 @@ int main(int argc, char *argv[])
                cleanup(ret);
        }
 
+       /* parse colors if specified  */
+       if (config->color) {
+               parsecolorconfig();
+       }
        /* noask is meant to be non-interactive */
        if(config->noask) {
                config->noconfirm = 1;
-- 
1.7.11.4


Reply via email to