commit multitail for openSUSE:Factory
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 "mmj@suse.de" 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 - pascal.bleser@opensuse.org + +- 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 <pascal.bleser@opensuse.org> +# 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 - pascal.bleser@opensuse.org -- 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 folkert@vanheusden.com -*--"; +const char *version_str = " --*- multitail " VERSION " (C) 2003-2012 by folkert@vanheusden.com -*--"; 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(®, search_for, REG_EXTENDED | (case_insensitive == MY_TRUE?REG_ICASE:0)))) { regexp_error_popup(rc, ®); + 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: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de