Hello community,

here is the log from the commit of package multitail for openSUSE:Factory 
checked in at 2012-11-30 12:25:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/multitail (Old)
 and      /work/SRC/openSUSE:Factory/.multitail.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "multitail", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/multitail/multitail.changes      2012-02-17 
12:06:37.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.multitail.new/multitail.changes 2012-11-30 
12:27:46.000000000 +0100
@@ -1,0 +2,8 @@
+Thu Nov 22 16:44:06 UTC 2012 - [email protected]
+
+- update to 5.2.10:
+  * adds -N which sets the initial tail lines count for all following inputs
+  * configuration file parameter min_n_bufferlines was ignored
+  * added colorscheme for 'ADB-logging' (Android)
+
+-------------------------------------------------------------------

Old:
----
  multitail-5.2.9.tgz
  multitail-bufferoverflowstrncat.patch
  multitail-getaddrinfo.patch

New:
----
  multitail-5.2.10.tgz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ multitail.spec ++++++
--- /var/tmp/diff_new_pack.4M6jhm/_old  2012-11-30 12:27:47.000000000 +0100
+++ /var/tmp/diff_new_pack.4M6jhm/_new  2012-11-30 12:27:47.000000000 +0100
@@ -1,22 +1,32 @@
 # vim: set ts=4 sw=4 et:
-# Copyright (c) 2004-2010 oc2pus, pbleser
-# This file and all modifications and additions to the pristine
-# package are under the same license as the package itself.
+
+# Copyright (c) 2010-2012 Pascal Bleser <[email protected]>
+#               2004-2010 oc2pus
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
 
 Name:           multitail
 Summary:        Tail Multiple Files
-Version:        5.2.9
+Version:        5.2.10
 Release:        0
 Group:          System/X11/Terminals
 License:        GPL-2.0+
 URL:            http://www.vanheusden.com/multitail/
 Source:         http://www.vanheusden.com/multitail/multitail-%{version}.tgz
-Patch1:         multitail-bufferoverflowstrncat.patch
 Patch2:         multitail-remove_date.patch
-# PATCH-FIX-UPSTREAM multitail-getadddrinfo.patch - [email protected] 
-- replaces IPv4 socket code with getaddrinfo which is more flexible, safe and 
supports IPv6, for sending to a syslog server and receiving syslog events in 
multitail
-Patch3:         multitail-getaddrinfo.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-BuildRequires:  ncurses-devel make gcc
+BuildRequires:  ncurses-devel
+BuildRequires:  make
+BuildRequires:  gcc
 
 %description
 MultiTail lets you view one or multiple files like the original
@@ -36,9 +46,7 @@
 
 %prep
 %setup -q
-%patch1 -p1
 %patch2
-%patch3
 
 %__sed -i 's/\r//g' manual.html
 %__chmod 644 manual.html

++++++ multitail-5.2.9.tgz -> multitail-5.2.10.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/multitail-5.2.9/Makefile 
new/multitail-5.2.10/Makefile
--- old/multitail-5.2.9/Makefile        2011-12-31 11:21:25.000000000 +0100
+++ new/multitail-5.2.10/Makefile       2012-11-22 13:51:01.000000000 +0100
@@ -3,6 +3,7 @@
 DESTDIR=/
 CONFIG_FILE=$(DESTDIR)/etc/multitail.conf
 
+CC=gcc
 DEBUG=-g # -D_DEBUG # -pg #  -D_DEBUG  #-pg -W -pedantic # -pg #-fprofile-arcs
 LDFLAGS+=-lpanel -lncurses -lutil -lm $(DEBUG) -rdynamic
 # LDFLAGS+=-lc_p -lpanel_g -lncurses_g -lutil -lm -pg -g -rdynamic
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/multitail-5.2.9/cmdline.c 
new/multitail-5.2.10/cmdline.c
--- old/multitail-5.2.9/cmdline.c       2011-12-31 11:21:25.000000000 +0100
+++ new/multitail-5.2.10/cmdline.c      2012-11-22 13:51:01.000000000 +0100
@@ -182,11 +182,16 @@
 
 void add_redir_to_socket(char filtered, char *prio, char *fac, char *address, 
redirect_t **predir, int *n_redirect)
 {
-       struct hostent *hp;
        char *local_address = mystrdup(address, __FILE__, __PRETTY_FUNCTION__, 
__LINE__);
        char *colon = strchr(local_address, ':');
        int prio_nr = -1, fac_nr = -1;
        int loop;
+    char* node;
+    char* service;
+    struct addrinfo hints;
+    struct addrinfo* result;
+    struct addrinfo* rp;
+    int s, sfd = -1;
 
        *predir = (redirect_t *)myrealloc(*predir, (*n_redirect) * 
sizeof(redirect_t), __FILE__, __PRETTY_FUNCTION__, __LINE__);
 
@@ -199,21 +204,44 @@
 
        (*predir)[*n_redirect].redirect = mystrdup(address, __FILE__, 
__PRETTY_FUNCTION__, __LINE__);
 
-       (*predir)[*n_redirect].fd = socket(AF_INET, SOCK_DGRAM, 0);
-       if ((*predir)[*n_redirect].fd == -1)
-               error_exit(__FILE__, __PRETTY_FUNCTION__, __LINE__, "Cannot 
create socket for redirecting via syslog protocol.\n");
-       
-       memset(&(*predir)[*n_redirect].sai, 0x00, 
sizeof((*predir)[*n_redirect].sai));
-       (*predir)[*n_redirect].sai.sin_family = AF_INET;
        if (colon)
        {
                *colon = 0x00;
-               (*predir)[*n_redirect].sai.sin_port = atoi(colon + 1);
+               node = local_address;
+               service = colon + 1;
        }
        else
-               (*predir)[*n_redirect].sai.sin_port = 514;
-       hp = gethostbyname(local_address);
-       memcpy(&(*predir)[*n_redirect].sai.sin_addr.s_addr, hp -> h_addr, hp -> 
h_length);
+       {
+               node = local_address;
+               service = "syslog";
+       }
+
+       memset(&hints, 0x00, sizeof(struct addrinfo));
+       hints.ai_family = AF_UNSPEC;
+       hints.ai_socktype = SOCK_DGRAM;
+       hints.ai_flags = 0;
+       hints.ai_protocol = 0;
+
+       s = getaddrinfo(node, service, &hints, &result);
+       if (s != 0)
+               error_exit(__FILE__, __PRETTY_FUNCTION__, __LINE__, "Cannot 
create socket for redirecting via syslog protocol: %s.\n", gai_strerror(s));
+
+       for (rp = result; rp != NULL; rp = rp -> ai_next)
+       {
+               sfd = socket(rp -> ai_family, rp -> ai_socktype, rp -> 
ai_protocol);
+               if (sfd == -1)
+                   continue;
+               if (connect(sfd, rp -> ai_addr, rp -> ai_addrlen) != -1)
+                   break;
+               close(sfd);
+       }
+
+       freeaddrinfo(result);
+
+       if (rp == NULL)
+               error_exit(__FILE__, __PRETTY_FUNCTION__, __LINE__, "Cannot 
create socket for redirecting via syslog protocol.\n");
+
+       (*predir)[*n_redirect].fd = sfd;
        
        for(loop=0; loop<8; loop++)
        {
@@ -550,7 +578,7 @@
        int_array_t cur_color_schemes = { NULL, 0, 0 };
        myattr_t cdef = { -1, -1 };
        int window_height = -1;
-       int initial_n_lines_tail = -1;
+       int initial_n_lines_tail = min_n_bufferlines;
        char *win_title = NULL;
        term_t cur_term_emul = TERM_IGNORE;
        strip_t *pstrip = NULL;
@@ -765,6 +793,10 @@
                {
                        initial_n_lines_tail = get_value_arg("-n", 
argv[++loop], VAL_ZERO_POSITIVE);
                }
+               else if (strcmp(argv[loop], "-N") == 0)
+               {
+                       initial_n_lines_tail = min_n_bufferlines = 
get_value_arg("-n", argv[++loop], VAL_ZERO_POSITIVE);
+               }
                else if (strcmp(argv[loop], "-b") == 0)
                {
                        tab_width = get_value_arg("-b", argv[++loop], 
VAL_ZERO_POSITIVE);
@@ -1007,7 +1039,7 @@
                        /* see if file exists */
                        if (check_interval == 0 && is_cmd == 0 && is_stdin == 0 
&& is_sock == 0 && retry == 0 && stat64(dummy, &buf) == -1)
                        {
-                               fprintf(stderr, "Error opening file %s.\n", 
dummy);
+                               fprintf(stderr, "Error opening file %s (%s)\n", 
dummy, strerror(errno));
                                exit(EXIT_FAILURE);
                        }
 
@@ -1039,7 +1071,7 @@
 
                        /* initial number of lines to tail */
                        cur -> initial_n_lines_tail = initial_n_lines_tail;
-                       initial_n_lines_tail = -1;
+                       initial_n_lines_tail = min_n_bufferlines;
 
                        /* default window height */
                        cur -> win_height = window_height;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/multitail-5.2.9/error.c new/multitail-5.2.10/error.c
--- old/multitail-5.2.9/error.c 2011-12-31 11:21:25.000000000 +0100
+++ new/multitail-5.2.10/error.c        2012-11-22 13:51:01.000000000 +0100
@@ -21,19 +21,32 @@
 void error_exit(char *file, const char *function, int line, char *format, ...)
 {
        va_list ap;
+       int index;
+        void *trace[128];
+        int trace_size = backtrace(trace, 128);
+        char **messages = backtrace_symbols(trace, trace_size);
 
        (void)endwin();
 
        fprintf(stderr, version_str, VERSION);
        fprintf(stderr, "\n\n");
 
-       fprintf(stderr,"A problem occured at line %d in function %s (from file 
%s):\n\n", line, function, file);
+       fprintf(stderr, "The following error occured:\n");
+       fprintf(stderr, "---------------------------\n");
        va_start(ap, format);
        (void)vfprintf(stderr, format, ap);
        va_end(ap);
-       if (errno) fprintf(stderr, "\nerrno variable (if applicable): %d which 
means %s\n\n", errno, strerror(errno));
 
-       fprintf(stderr, "\nBinary build at %s %s\n", __DATE__, __TIME__);
+       fprintf(stderr, "\n");
+       fprintf(stderr, "\n");
+       fprintf(stderr, "If this is a bug, please report the following 
information:\n");
+       fprintf(stderr, 
"---------------------------------------------------------\n");
+       fprintf(stderr, "This problem occured at line %d in function %s (from 
file %s):\n", line, function, file);
+       if (errno) fprintf(stderr, "errno variable was then: %d which means 
\"%s\"\n", errno, strerror(errno));
+       fprintf(stderr, "Binary build at %s %s\n", __DATE__, __TIME__);
+        fprintf(stderr, "Execution path:\n");
+        for(index=0; index<trace_size; ++index)
+                fprintf(stderr, "\t%d %s\n", index, messages[index]);
 
        dump_mem(SIGHUP);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/multitail-5.2.9/globals.c 
new/multitail-5.2.10/globals.c
--- old/multitail-5.2.9/globals.c       2011-12-31 11:21:25.000000000 +0100
+++ new/multitail-5.2.10/globals.c      2012-11-22 13:51:01.000000000 +0100
@@ -31,7 +31,7 @@
 int *n_win_per_col = NULL;
 int *vertical_split = NULL;
 color_scheme *cschemes = NULL;
-const char *version_str = " --*- multitail " VERSION " (C) 2003-2007 by 
[email protected] -*--";
+const char *version_str = " --*- multitail " VERSION " (C) 2003-2012 by 
[email protected] -*--";
 conversion *conversions = NULL;
 keybinding *keybindings = NULL;
 pars_per_file *ppf = NULL;
@@ -47,7 +47,7 @@
 int terminal_main_index = -1;
 int default_color_scheme = -1;
 int max_y, max_x;
-int min_n_bufferlines = 25;
+int min_n_bufferlines = -1;
 int mode_statusline = 1;
 int n_children = 0;
 int n_conversions = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/multitail-5.2.9/mt.c new/multitail-5.2.10/mt.c
--- old/multitail-5.2.9/mt.c    2011-12-31 11:21:25.000000000 +0100
+++ new/multitail-5.2.10/mt.c   2012-11-22 13:51:01.000000000 +0100
@@ -385,7 +385,16 @@
 
 void select_display_start_and_end(char *string, char mode, int wrap_offset, 
int win_width, int *prt_start, int *prt_end, int *disp_end)
 {
-       int nbytes = strlen(string);
+       /* patch by Thomas Gartner */
+       int nbytes = 0; /* = strlen(string); */
+       char *tmpString=string;
+       while(string && *tmpString)
+       {
+               if (*tmpString++==9)
+                       nbytes += tab_width;
+               else
+                       ++nbytes;
+       }
 
        *prt_start = 0;
        *prt_end = nbytes;
@@ -455,7 +464,7 @@
        return 0;
 }
 
-       
+
 char find_highlight_matches(regmatch_t *matches, char use_regex, int offset)
 {
        int match_offset;
@@ -482,65 +491,65 @@
 
 myattr_t * find_cmatches_index(color_offset_in_line *cmatches, int n_cmatches, 
mybool_t has_merge_colors, int offset)
 {
-        static myattr_t final_color;
-        int cmatches_index = 0;
-        int fg_composed = -1, bg_composed = -1;
-        int attrs = -1;
-        char first_set = 1;
-
-        for(cmatches_index=0; cmatches_index<n_cmatches; cmatches_index++)
-        {
-                if (offset >= cmatches[cmatches_index].start && offset < 
cmatches[cmatches_index].end)
-                {
-                        if (has_merge_colors == MY_FALSE)
-                       {
-                                return &cmatches[cmatches_index].attrs;
-                       }
-
-                        if (cmatches[cmatches_index].merge_color == MY_TRUE)
-                        {
-                                /* merge these colors */
-                                if 
(cmatches[cmatches_index].attrs.colorpair_index != -1)
-                                {
-                                        int fg_fc, bg_fc;
-
-                                        fg_fc = 
cp.fg_color[cmatches[cmatches_index].attrs.colorpair_index];
-                                        bg_fc = 
cp.bg_color[cmatches[cmatches_index].attrs.colorpair_index];
-
-                                        if (fg_fc != -1 && fg_composed == -1)
-                                                fg_composed = fg_fc;
-                                        if (bg_fc != -1 && bg_composed == -1)
-                                                bg_composed = bg_fc;
-                                }
-
-                                if (cmatches[cmatches_index].attrs.attrs != -1)
-                                {
-                                        if (attrs == -1)
-                                                attrs = 
cmatches[cmatches_index].attrs.attrs;
-                                        else
-                                                attrs |= 
cmatches[cmatches_index].attrs.attrs;
-                                }
-                        }
-                        else if (first_set)
-                        {
-                                first_set = 0;
-
-                                fg_composed = 
cp.fg_color[cmatches[cmatches_index].attrs.colorpair_index];
-                                bg_composed = 
cp.bg_color[cmatches[cmatches_index].attrs.colorpair_index];
-                                attrs = cmatches[cmatches_index].attrs.attrs;
-                        }
-                }
-        }
-
-        if (fg_composed != -1 || bg_composed != -1 || final_color.attrs != -1)
-        {
-                final_color.attrs = attrs;
-                final_color.colorpair_index = 
find_or_init_colorpair(fg_composed, bg_composed, 1);
+       static myattr_t final_color;
+       int cmatches_index = 0;
+       int fg_composed = -1, bg_composed = -1;
+       int attrs = -1;
+       char first_set = 1;
+
+       for(cmatches_index=0; cmatches_index<n_cmatches; cmatches_index++)
+       {
+               if (offset >= cmatches[cmatches_index].start && offset < 
cmatches[cmatches_index].end)
+               {
+                       if (has_merge_colors == MY_FALSE)
+                       {
+                               return &cmatches[cmatches_index].attrs;
+                       }
+
+                       if (cmatches[cmatches_index].merge_color == MY_TRUE)
+                       {
+                               /* merge these colors */
+                               if 
(cmatches[cmatches_index].attrs.colorpair_index != -1)
+                               {
+                                       int fg_fc, bg_fc;
+
+                                       fg_fc = 
cp.fg_color[cmatches[cmatches_index].attrs.colorpair_index];
+                                       bg_fc = 
cp.bg_color[cmatches[cmatches_index].attrs.colorpair_index];
+
+                                       if (fg_fc != -1 && fg_composed == -1)
+                                               fg_composed = fg_fc;
+                                       if (bg_fc != -1 && bg_composed == -1)
+                                               bg_composed = bg_fc;
+                               }
+
+                               if (cmatches[cmatches_index].attrs.attrs != -1)
+                               {
+                                       if (attrs == -1)
+                                               attrs = 
cmatches[cmatches_index].attrs.attrs;
+                                       else
+                                               attrs |= 
cmatches[cmatches_index].attrs.attrs;
+                               }
+                       }
+                       else if (first_set)
+                       {
+                               first_set = 0;
+
+                               fg_composed = 
cp.fg_color[cmatches[cmatches_index].attrs.colorpair_index];
+                               bg_composed = 
cp.bg_color[cmatches[cmatches_index].attrs.colorpair_index];
+                               attrs = cmatches[cmatches_index].attrs.attrs;
+                       }
+               }
+       }
 
-                return &final_color;
-        }
+       if (fg_composed != -1 || bg_composed != -1 || final_color.attrs != -1)
+       {
+               final_color.attrs = attrs;
+               final_color.colorpair_index = 
find_or_init_colorpair(fg_composed, bg_composed, 1);
 
-        return NULL;
+               return &final_color;
+       }
+
+       return NULL;
 }
 
 void gen_wordwrap_offsets(char *string, int start_offset, int end_offset, int 
win_width, int **offsets)
@@ -712,7 +721,7 @@
 {
        char reverse = 0;
        myattr_t cdev = { -1, -1 };
-       int prt_start = 0, prt_end, disp_end;
+       int prt_start = 0, prt_end = 0, disp_end = 0;
        int mx = -1;
        char use_regex = 0;
        color_offset_in_line *cmatches = NULL;
@@ -863,7 +872,7 @@
 
 /* check if the current line matches with a regular expression
    returns 0 if a regexp failed to execute
-   */
+ */
 
 /* this code can be optimized quit a bit but I wanted to get it to work 
quickly so I expanded everything (2006/03/28) */
 char check_filter(proginfo *cur, char *string, regmatch_t **pmatch, char 
**error, int *matching_regex, char do_re, char *display)
@@ -874,7 +883,8 @@
        char re_exec_ok = 1;
 
        *error = NULL;
-       *pmatch = NULL;
+       if (pmatch)
+               *pmatch = NULL;
        *matching_regex = -1;
 
        *display = 1;
@@ -2295,33 +2305,56 @@
                        {
                                char *dummy = mystrdup(cur -> filename, 
__FILE__, __PRETTY_FUNCTION__, __LINE__);
                                char *colon = strchr(dummy, ':');
-                               struct sockaddr_in sa;
-                               socklen_t ssai_len = sizeof(sa);
-                               char *host = "0.0.0.0";
-                               int port = 514;
+                               struct addrinfo hints;
+                               struct addrinfo* result;
+                               struct addrinfo* rp;
+                               int sfd, s;
 
-                               cur -> wfd = cur -> fd = socket(AF_INET, 
SOCK_DGRAM, 0);
-                               if (cur -> fd == -1)
-                                       error_exit(__FILE__, 
__PRETTY_FUNCTION__, __LINE__, "Failed to create socket for receiving syslog 
data.\n");
+                               char *host = NULL;
+                               char *service = "syslog";
 
                                if (colon)
                                {
-                                       port = atoi(colon + 1);
-                                       if (port <= 0)
-                                               error_exit(__FILE__, 
__PRETTY_FUNCTION__, __LINE__, "--[Ll]isten requires a >= 0 portnumber.\n");
+                                       service = colon + 1;
                                        *colon = 0x00;
                                        if (colon > dummy)
                                                host = dummy;
                                }
 
-                               memset(&sa, 0x00, ssai_len);
-                               sa.sin_family = AF_INET;
-                               sa.sin_port   = htons(port);
-                               sa.sin_addr.s_addr = inet_addr(host);
-                               if (bind(cur -> fd, (struct sockaddr *)&sa, 
ssai_len) == -1)
-                                       error_exit(__FILE__, 
__PRETTY_FUNCTION__, __LINE__, "Failed to bind socket to %s.\n", cur -> 
filename);
+                               memset(&hints, 0x00, sizeof(struct addrinfo));
+                               hints.ai_family = AF_UNSPEC;
+                               hints.ai_socktype = SOCK_DGRAM;
+                               hints.ai_flags = AI_PASSIVE;
+                               hints.ai_protocol = 0;
+                               hints.ai_canonname = NULL;
+                               hints.ai_addr = NULL;
+                               hints.ai_next = NULL;
+
+                               s = getaddrinfo(host, service, &hints, &result);
+                               if (s != 0)
+                                       error_exit(__FILE__, 
__PRETTY_FUNCTION__, __LINE__, "Failed to create socket for receiving syslog 
data on %s: %s.\n", cur -> filename, gai_strerror(s));
+
+                               for (rp = result; rp != NULL; rp = rp -> 
ai_next)
+                               {
+                                       sfd = socket(rp -> ai_family, rp -> 
ai_socktype, rp -> ai_protocol);
+                                       if (sfd == -1)
+                                               continue;
+                                       if (bind(sfd, rp -> ai_addr, rp -> 
ai_addrlen) == 0)
+                                               break;
+                                       close(sfd);
+                               }
+
+                               freeaddrinfo(result);
+
+                               if (rp == NULL)
+                                       error_exit(__FILE__, 
__PRETTY_FUNCTION__, __LINE__, "Failed to create socket for receiving syslog 
data on %s.\n", cur -> filename);
+
+                               cur -> wfd = cur -> fd = sfd;
 
-                               myfree(dummy);
+                               cur -> wfd = cur -> fd = socket(AF_INET, 
SOCK_DGRAM, 0);
+                               if (cur -> fd == -1)
+
+                                       myfree(dummy);
 
                                cur -> pid = -1;
                        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/multitail-5.2.9/mt.h new/multitail-5.2.10/mt.h
--- old/multitail-5.2.9/mt.h    2011-12-31 11:21:25.000000000 +0100
+++ new/multitail-5.2.10/mt.h   2012-11-22 13:51:01.000000000 +0100
@@ -48,7 +48,7 @@
 #define __USE_BSD      /* manpage says _BSD_SOURCE, stdlib.h says __USE_BSD */
 #endif
 
-#if defined(sun) || defined(__sun) || defined(scoos) || defined(_HPUX_SOURCE) 
|| defined(AIX)
+#if defined(sun) || defined(__sun) || defined(scoos) || defined(_HPUX_SOURCE) 
|| defined(AIX) || defined(__CYGWIN__)
        #include <ncurses/panel.h>
        #include <ncurses/ncurses.h>
 #else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/multitail-5.2.9/multitail.1 
new/multitail-5.2.10/multitail.1
--- old/multitail-5.2.9/multitail.1     2011-12-31 11:21:25.000000000 +0100
+++ new/multitail-5.2.10/multitail.1    2012-11-22 13:51:01.000000000 +0100
@@ -103,6 +103,9 @@
 .B "\-n" number_of_lines
 Number of lines to tail initially. The default depends on the size of the 
terminal-window.
 .TP
+.B "\-N" number_of_lines
+Like -n but this parameter will be used for all files/commands you tail after 
this parameter.
+.TP
 .B "\-r" interval
 Restart the command (started with -l/-L) after it has exited. With interval 
you can set how long to sleep before restarting.
 .TP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/multitail-5.2.9/multitail.conf 
new/multitail-5.2.10/multitail.conf
--- old/multitail-5.2.9/multitail.conf  2011-12-31 11:21:25.000000000 +0100
+++ new/multitail-5.2.10/multitail.conf 2012-11-22 13:51:01.000000000 +0100
@@ -130,6 +130,30 @@
 cs_re:yellow:Failed [^ ]* for [^ ]* from [^ ]* port [0-9]* .*
 cs_re:red:Disconnecting: Too many authentication failures for.*
 #
+# ADB logcat
+colorscheme:logcat
+cs_re_s:blue,,bold:^./(dalvikvm)\(
+cs_re_s:blue,,bold:^./(Process)\(
+cs_re_s:cyan:^./(ActivityManager)\(
+cs_re_s:cyan:^./(ActivityThread)\(
+cs_re_s:white,,bold:^./([^\(]*)\(
+cs_re_s:green:^[^\(]*(\()[^\)]*(\))
+cs_re:red,,inverse:[Pp]ermission [Dd]eni[ae][dl]
+cs_re:red,,inverse:Caused by:
+cs_re:cyan::
+#cs_re:red,,inverse:^F
+#cs_re:red,,bold:^E
+#cs_re:yellow,,bold:^W
+#cs_re:cyan,,bold:^I
+#cs_re:green,,bold:^V
+#cs_re:white:^D
+cs_re_s:red,,inverse:^(F)/[^:]*: (.*)$
+cs_re_s:red:^(E)/[^:]*: (.*)$
+cs_re_s:yellow:^(W).[^:]*: (.*)$
+#cs_re_s:green:^(I).[^:]*: (.*)$
+cs_re_s:green:^(V)/[^:]*: (.*)$
+cs_re_s:black,,bold:^(D)/[^:]*: (.*)$
+#
 # linux iptables firewall
 colorscheme:liniptfw:Linux IPtables (2.6.x kernel)
 cs_re:cyan::
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/multitail-5.2.9/scrollback.c 
new/multitail-5.2.10/scrollback.c
--- old/multitail-5.2.9/scrollback.c    2011-12-31 11:21:25.000000000 +0100
+++ new/multitail-5.2.10/scrollback.c   2012-11-22 13:51:01.000000000 +0100
@@ -746,6 +746,7 @@
                if ((rc=regcomp(&reg, search_for, REG_EXTENDED | 
(case_insensitive == MY_TRUE?REG_ICASE:0))))
                {
                        regexp_error_popup(rc, &reg);
+                       free(last_check);
                        return;
                }
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/multitail-5.2.9/ui.c new/multitail-5.2.10/ui.c
--- old/multitail-5.2.9/ui.c    2011-12-31 11:21:25.000000000 +0100
+++ new/multitail-5.2.10/ui.c   2012-11-22 13:51:01.000000000 +0100
@@ -2449,7 +2449,7 @@
 
 void regexp_error_popup(int rc, regex_t *pre)
 {
-       char popup_buffer[4096];
+       char popup_buffer[4096] = { 0 };
        char *error = convert_regexp_error(rc, pre);
 
        if (error)
@@ -2465,7 +2465,9 @@
                        popup_buffer[sizeof(popup_buffer) - 1] = 0x00;
                }
                else
-                       strncat(popup_buffer, error, sizeof(popup_buffer));
+               {
+                       strncat(popup_buffer, error, 
sizeof(popup_buffer)-strlen(popup_buffer)-1);
+               }
 
                myfree(error);
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/multitail-5.2.9/utils.c new/multitail-5.2.10/utils.c
--- old/multitail-5.2.9/utils.c 2011-12-31 11:21:25.000000000 +0100
+++ new/multitail-5.2.10/utils.c        2012-11-22 13:51:01.000000000 +0100
@@ -4,6 +4,7 @@
 #include <signal.h>
 #include <stdlib.h>
 #include <limits.h>
+#include <stdio.h>
 #include <string.h>
 #include <sys/types.h>
 #include <regex.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/multitail-5.2.9/version new/multitail-5.2.10/version
--- old/multitail-5.2.9/version 2011-12-31 11:21:25.000000000 +0100
+++ new/multitail-5.2.10/version        2012-11-22 13:51:01.000000000 +0100
@@ -1 +1 @@
-VERSION=5.2.9
+VERSION=5.2.10

++++++ multitail-remove_date.patch ++++++
--- /var/tmp/diff_new_pack.4M6jhm/_old  2012-11-30 12:27:47.000000000 +0100
+++ /var/tmp/diff_new_pack.4M6jhm/_new  2012-11-30 12:27:47.000000000 +0100
@@ -1,10 +1,10 @@
---- error.c.orig       2011-01-20 07:22:09.000000000 +0100
-+++ error.c    2011-01-20 07:22:18.000000000 +0100
-@@ -33,7 +33,6 @@
-       va_end(ap);
-       if (errno) fprintf(stderr, "\nerrno variable (if applicable): %d which 
means %s\n\n", errno, strerror(errno));
- 
--      fprintf(stderr, "\nBinary build at %s %s\n", __DATE__, __TIME__);
- 
-       dump_mem(SIGHUP);
- 
+--- error.c.orig       2012-11-22 17:45:25.818717396 +0100
++++ error.c    2012-11-22 17:45:31.848713134 +0100
+@@ -43,7 +43,6 @@
+       fprintf(stderr, 
"---------------------------------------------------------\n");
+       fprintf(stderr, "This problem occured at line %d in function %s (from 
file %s):\n", line, function, file);
+       if (errno) fprintf(stderr, "errno variable was then: %d which means 
\"%s\"\n", errno, strerror(errno));
+-      fprintf(stderr, "Binary build at %s %s\n", __DATE__, __TIME__);
+         fprintf(stderr, "Execution path:\n");
+         for(index=0; index<trace_size; ++index)
+                 fprintf(stderr, "\t%d %s\n", index, messages[index]);

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to