commit:     ad69607fe21bde3192f230b926facdc1b7a57cbd
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 22 09:57:05 2019 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Fri Mar 22 09:57:05 2019 +0000
URL:        https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=ad69607f

remove_extra_space: move to libq/rmspace

Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 libq/rmspace.c | 34 ++++++++++++++++++++++++++++++++++
 libq/rmspace.h |  1 +
 main.c         | 31 +++----------------------------
 3 files changed, 38 insertions(+), 28 deletions(-)

diff --git a/libq/rmspace.c b/libq/rmspace.c
index a43354d..f3b8e37 100644
--- a/libq/rmspace.c
+++ b/libq/rmspace.c
@@ -7,9 +7,12 @@
  * Copyright 2019-     Fabian Groffen  - <[email protected]>
  */
 
+#include "main.h"
+
 #include <stdlib.h>
 #include <string.h>
 #include <ctype.h>
+#include <xalloc.h>
 
 #include "rmspace.h"
 
@@ -35,3 +38,34 @@ char *rmspace(char *s)
 {
        return rmspace_len(s, strlen(s));
 }
+
+/* removes adjacent extraneous white space */
+char *
+remove_extra_space(char *str)
+{
+       char *p, c = ' ';
+       size_t len, pos = 0;
+       char *buf;
+
+       if (str == NULL)
+               return NULL;
+       len = strlen(str);
+       buf = xmalloc(len+1);
+       for (p = str; *p != 0; ++p) {
+               if (!isspace(*p)) {
+                       c = *p;
+               } else {
+                       if (c == ' ')
+                               continue;
+                       c = ' ';
+               }
+               buf[pos] = c;
+               pos++;
+       }
+       buf[pos] = '\0';
+       if (pos > 0 && buf[pos-1] == ' ')
+               buf[pos-1] = '\0';
+       strcpy(str, buf);
+       free(buf);
+       return str;
+}

diff --git a/libq/rmspace.h b/libq/rmspace.h
index f70d732..e37d121 100644
--- a/libq/rmspace.h
+++ b/libq/rmspace.h
@@ -10,5 +10,6 @@
 
 char *rmspace_len(char *s, size_t len);
 char *rmspace(char *s);
+char *remove_extra_space(char *s);
 
 #endif

diff --git a/main.c b/main.c
index 6b4153a..01d358a 100644
--- a/main.c
+++ b/main.c
@@ -4,6 +4,7 @@
  *
  * Copyright 2005-2008 Ned Ludd        - <[email protected]>
  * Copyright 2005-2014 Mike Frysinger  - <[email protected]>
+ * Copyright 2018-     Fabian Groffen  - <[email protected]>
  */
 
 #include "main.h"
@@ -112,8 +113,8 @@ static DECLARE_ARRAY(overlays);
 static void
 no_colors(void)
 {
-       /* echo $(awk '{print $4,"="}' libq/colors.c  | grep ^* |cut -c 2-| 
grep ^[A-Z] |tr '\n' ' ') = \"\"\;  */
-       BOLD = NORM = BLUE = DKBLUE = CYAN = GREEN = DKGREEN = MAGENTA = RED = 
YELLOW = BRYELLOW = WHITE = "";
+       BOLD = NORM = BLUE = DKBLUE = CYAN = GREEN = DKGREEN = \
+                  MAGENTA = RED = YELLOW = BRYELLOW = WHITE = "";
        setenv("NOCOLOR", "true", 1);
 }
 
@@ -281,32 +282,6 @@ rematch(const char *re, const char *match, int cflags)
        return ret;
 }
 
-/* removes adjacent extraneous white space */
-static char *
-remove_extra_space(char *str)
-{
-       char *p, c = ' ';
-       size_t len, pos = 0;
-       char *buf;
-
-       if (str == NULL)
-               return NULL;
-       len = strlen(str);
-       buf = xzalloc(len+1);
-       for (p = str; *p != 0; ++p) {
-               if (!isspace(*p)) c = *p; else {
-                       if (c == ' ') continue;
-                       c = ' ';
-               }
-               buf[pos] = c;
-               pos++;
-       }
-       if (pos > 0 && buf[pos-1] == ' ') buf[pos-1] = '\0';
-       strcpy(str, buf);
-       free(buf);
-       return str;
-}
-
 static void
 freeargv(int argc, char **argv)
 {

Reply via email to