Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Dec 2012 09:40:01 GMT
From:      Nikos Ntarmos <ntarmos@ceid.upatras.gr>
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   Re: ports/168161: [PATCH] sysutils/conky: update to 1.9.0
Message-ID:  <201212070940.qB79e10V019857@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/168161; it has been noted by GNATS.

From: Nikos Ntarmos <ntarmos@ceid.upatras.gr>
To: Lars Engels <lars.engels@0x20.net>
Cc: bug-followup@FreeBSD.org, coder@tuxfamily.org
Subject: Re: ports/168161: [PATCH] sysutils/conky: update to 1.9.0
Date: Fri, 7 Dec 2012 11:27:15 +0200

 --huq684BweRXVnRxX
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 
 Hi again.
 
 Slightly different diff attached. Sorry for the delay.
 
 \n\n
 
 --huq684BweRXVnRxX
 Content-Type: text/x-diff; charset=us-ascii
 Content-Disposition: attachment; filename="conky-1.9.0.diff"
 
 diff -ruN --exclude=CVS conky.o/Makefile conky/Makefile
 --- conky.o/Makefile	2012-11-17 08:01:27.000000000 +0200
 +++ conky/Makefile	2012-12-07 09:09:53.000000000 +0200
 @@ -6,8 +6,7 @@
  #
  
  PORTNAME=	conky
 -PORTVERSION=	1.8.1
 -PORTREVISION=	5
 +PORTVERSION=	1.9.0
  CATEGORIES=	sysutils
  MASTER_SITES=	SF
  
 diff -ruN --exclude=CVS conky.o/distinfo conky/distinfo
 --- conky.o/distinfo	2010-10-30 14:43:47.000000000 +0300
 +++ conky/distinfo	2012-12-03 21:43:49.000000000 +0200
 @@ -1,2 +1,2 @@
 -SHA256 (conky-1.8.1.tar.bz2) = f85a278f2869596b1fd68b6d26d58c93af8dcc39d5186bbcfd587d4c545e5e43
 -SIZE (conky-1.8.1.tar.bz2) = 612481
 +SHA256 (conky-1.9.0.tar.bz2) = baf1b550f135fbfb53e5e286a33aadc03a667d63bf6c4d52ba7637366295bb6f
 +SIZE (conky-1.9.0.tar.bz2) = 626555
 diff -ruN --exclude=CVS conky.o/files/patch-configure conky/files/patch-configure
 --- conky.o/files/patch-configure	2012-03-08 07:07:14.000000000 +0200
 +++ conky/files/patch-configure	2012-12-07 09:18:10.000000000 +0200
 @@ -1,6 +1,6 @@
 ---- configure.orig
 -+++ configure
 -@@ -1002,6 +1002,7 @@
 +--- configure.orig	2012-05-04 00:47:40.000000000 +0300
 ++++ configure	2012-12-06 04:26:37.000000000 +0200
 +@@ -895,6 +895,7 @@
   enable_xft
   enable_nvidia
   enable_alsa
 @@ -8,7 +8,7 @@
   enable_debug
   enable_testing
   enable_profiling
 -@@ -1729,6 +1730,7 @@
 +@@ -1620,6 +1621,7 @@
     --enable-nvidia         enable if you want nvidia support [default=no]
     --disable-alsa          disable if you do not want ALSA support
                             [default=yes]
 @@ -16,25 +16,20 @@
     --enable-debug          compile with debug symbols [default=no]
     --enable-testing        use strict compiler flags for testing [default=no]
     --enable-profiling      specify compiler flags for use with gprof and gcov
 -@@ -11647,7 +11649,7 @@
 - 
 - 
 - if test x$want_apcupsd = xyes; then
 --  if test x"$uname" != xLinux; then
 -+  if test x"$uname" != xLinux -a x"$uname" != xFreeBSD; then
 -       { $as_echo "$as_me:${as_lineno-$LINENO}: apcupsd not supported on $uname... disabling" >&5
 - $as_echo "$as_me: apcupsd not supported on $uname... disabling" >&6;}
 -       want_apcupsd="not supported on $uname"
 -@@ -11675,7 +11675,7 @@
 - 
 - 
 - if test x$want_iostats = xyes; then
 --  if test x"$uname" != xLinux; then
 -+  if test x"$uname" != xLinux -a x"$uname" != xFreeBSD; then
 -       { $as_echo "$as_me:${as_lineno-$LINENO}: iostats not supported on $uname... disabling" >&5
 - $as_echo "$as_me: iostats not supported on $uname... disabling" >&6;}
 -       want_iostats="not supported on $uname"
 -@@ -16071,20 +16073,65 @@
 +@@ -11930,7 +11932,11 @@
 +   Linux*)
 +     WANT_SYSINFO=yes
 +     ;;
 +-  FreeBSD*|GNU/kFreeBSD*)
 ++  FreeBSD*)
 ++    WANT_KVM=yes
 ++    WANT_DEVSTAT=yes
 ++    ;;
 ++  GNU/kFreeBSD*)
 +     WANT_KVM=yes
 +     WANT_DEVSTAT=yes
 +     WANT_OPTRESET=yes
 +@@ -16998,18 +17004,63 @@
   
   done
   
 @@ -42,29 +37,26 @@
  -for ac_header in sys/inotify.h
  -do :
  -  ac_fn_c_check_header_mongrel "$LINENO" "sys/inotify.h" "ac_cv_header_sys_inotify_h" "$ac_includes_default"
 --if test "x$ac_cv_header_sys_inotify_h" = x""yes; then :
 --  cat >>confdefs.h <<_ACEOF
 --#define HAVE_SYS_INOTIFY_H 1
 --_ACEOF
 - 
 ++
  +# Check whether --enable-inotify was given.
  +if test "${enable_inotify+set}" = set; then :
  +  enableval=$enable_inotify; want_inotify="$enableval"
  +else
  +  want_inotify=no
 - fi
 - 
 --done
 ++fi
 ++
  +if test x$want_inotify = xyes; then
  +    ac_fn_c_check_header_mongrel "$LINENO" "sys/inotify.h" "ac_cv_header_sys_inotify_h" "$ac_includes_default"
 -+if test "x$ac_cv_header_sys_inotify_h" = xyes; then :
 + if test "x$ac_cv_header_sys_inotify_h" = xyes; then :
 +-  cat >>confdefs.h <<_ACEOF
 +-#define HAVE_SYS_INOTIFY_H 1
 +-_ACEOF
  + 
  +else
  +  want_inotify=no
  +fi
   
 - 
 -+fi
 + fi
  +if test x$want_inotify = xyes; then
  +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inotify_init in -linotify" >&5
  +$as_echo_n "checking for inotify_init in -linotify... " >&6; }
 @@ -75,7 +67,8 @@
  +LIBS="-linotify  $LIBS"
  +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  +/* end confdefs.h.  */
 -+
 + 
 +-done
  +#include <sys/inotify.h>
  +
  +char inotify_init ();
 @@ -105,16 +98,6 @@
  +fi
  +
  +fi
 -+
 - 
 - 
 - $as_echo "#define DEFAULTNETDEV \"eth0\"" >>confdefs.h
 -@@ -16102,7 +16153,7 @@
 - $as_echo "#define DEFAULT_TEXT_BUFFER_SIZE 256" >>confdefs.h
 - 
 - 
 --$as_echo "#define MAX_NET_INTERFACES 16" >>confdefs.h
 -+$as_echo "#define MAX_NET_INTERFACES 64" >>confdefs.h
   
   
   
 diff -ruN --exclude=CVS conky.o/files/patch-src-ccurl_thread.c conky/files/patch-src-ccurl_thread.c
 --- conky.o/files/patch-src-ccurl_thread.c	2012-03-08 07:07:14.000000000 +0200
 +++ conky/files/patch-src-ccurl_thread.c	1970-01-01 02:00:00.000000000 +0200
 @@ -1,10 +0,0 @@
 ---- src/ccurl_thread.c.orig	2010-10-06 00:29:36.000000000 +0300
 -+++ src/ccurl_thread.c	2012-03-05 01:08:23.000000000 +0200
 -@@ -33,7 +33,6 @@
 - #endif /* DEBUG */
 - 
 - #include <curl/curl.h>
 --#include <curl/types.h>
 - #include <curl/easy.h>
 - 
 - /*
 diff -ruN --exclude=CVS conky.o/files/patch-src-conky.c conky/files/patch-src-conky.c
 --- conky.o/files/patch-src-conky.c	2012-03-08 07:07:14.000000000 +0200
 +++ conky/files/patch-src-conky.c	2012-12-06 04:27:49.000000000 +0200
 @@ -1,5 +1,5 @@
 ---- src/conky.c.orig	2010-10-06 00:29:36.000000000 +0300
 -+++ src/conky.c	2012-03-05 01:03:43.000000000 +0200
 +--- src/conky.c.orig	2012-05-04 00:22:21.000000000 +0300
 ++++ src/conky.c	2012-12-04 11:09:20.000000000 +0200
  @@ -119,7 +119,7 @@
   #include "openbsd.h"
   #endif
 @@ -9,51 +9,25 @@
   #include <bsd/bsd.h>
   #endif
   
 -@@ -2072,9 +2072,11 @@
 - 			OBJ(xmms2_percent) {
 - 				snprintf(p, p_max_size, "%2.0f", cur->xmms2.progress * 100);
 - 			}
 -+#ifdef X11
 - 			OBJ(xmms2_bar) {
 - 				new_bar(obj, p, p_max_size, (int) (cur->xmms2.progress * 255.0f));
 - 			}
 -+#endif /* X11 */
 - 			OBJ(xmms2_playlist) {
 - 				snprintf(p, p_max_size, "%s", cur->xmms2.playlist);
 - 			}
 -@@ -2150,6 +2152,7 @@
 - 				snprintf(p, p_max_size, "%s",
 - 					cur->audacious.items[AUDACIOUS_MAIN_VOLUME]);
 - 			}
 -+#ifdef X11
 - 			OBJ(audacious_bar) {
 - 				double progress;
 - 
 -@@ -2158,6 +2161,7 @@
 - 					atof(cur->audacious.items[AUDACIOUS_LENGTH_SECONDS]);
 - 				new_bar(obj, p, p_max_size, (int) (progress * 255.0f));
 - 			}
 -+#endif /* X11 */
 - #endif /* AUDACIOUS */
 - 
 - #ifdef BMPX
 -@@ -5716,6 +5720,7 @@
 - 			"kvm_open")) == NULL) {
 - 		CRIT_ERR(NULL, NULL, "cannot read kvm");
 - 	}
 -+	pthread_mutex_init(&kvm_proc_mutex, NULL);
 - #endif
 +@@ -4292,7 +4292,8 @@
   
 - 	while (1) {
 -@@ -5999,6 +6004,7 @@
 + 	free_templates();
   
 - #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
 - 	kvm_close(kd);
 -+	pthread_mutex_destroy(&kvm_proc_mutex);
 +-	free(current_mail_spool);
 ++	if (current_mail_spool)
 ++		free(current_mail_spool);
 + 	{
 + 		char buf[256];
 + 
 +@@ -5662,6 +5663,7 @@
 + 			current_mail_spool = strndup(buf, text_buffer_size);
 + 		}
 + 	}
 ++	pthread_mutex_init(&kvm_proc_mutex, NULL);
   #endif
   
 - 	return 0;
 -@@ -6007,7 +6013,7 @@
 + 	/* handle other command line arguments */
 +@@ -5971,7 +5973,7 @@
   
   void alarm_handler(void) {
   	if(childpid > 0) {
 diff -ruN --exclude=CVS conky.o/files/patch-src-core.c conky/files/patch-src-core.c
 --- conky.o/files/patch-src-core.c	2010-10-19 04:12:52.000000000 +0300
 +++ conky/files/patch-src-core.c	1970-01-01 02:00:00.000000000 +0200
 @@ -1,59 +0,0 @@
 ---- src/core.c.orig	2010-10-06 00:29:36.000000000 +0300
 -+++ src/core.c	2010-10-09 23:51:18.000000000 +0300
 -@@ -541,11 +541,11 @@
 - 		parse_platform_sensor(obj, arg);
 - 	END OBJ_ARG(hwmon, 0, "hwmon needs argumanets")
 - 		parse_hwmon_sensor(obj, arg);
 --	END OBJ(addr, &update_net_stats)
 --		parse_net_stat_arg(obj, arg, free_at_crash);
 - 	END OBJ(addrs, &update_net_stats)
 - 		parse_net_stat_arg(obj, arg, free_at_crash);
 - #endif /* __linux__ */
 -+	END OBJ(addr, &update_net_stats)
 -+		parse_net_stat_arg(obj, arg, free_at_crash);
 - 	END
 - 	/* we have four different types of top (top, top_mem, top_time and top_io). To
 - 	 * avoid having almost-same code four times, we have this special
 -@@ -577,7 +577,7 @@
 - 		obj->data.s = strndup(arg, text_buffer_size);
 - 	END OBJ_IF_ARG(if_mounted, 0, "if_mounted needs an argument")
 - 		obj->data.s = strndup(arg, text_buffer_size);
 --#ifdef __linux__
 -+#if defined(__linux__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
 - 	END OBJ_IF_ARG(if_running, &update_top, "if_running needs an argument")
 - 		top_running = 1;
 - 		obj->data.s = strndup(arg, text_buffer_size);
 -@@ -787,9 +787,9 @@
 - 		obj->sub = malloc(sizeof(struct text_object));
 - 		extract_variable_text_internal(obj->sub, arg);
 - 	END OBJ(processes, &update_total_processes)
 -+#ifdef __linux__
 - 	END OBJ(running_processes, &update_top)
 - 		top_running = 1;
 --#ifdef __linux__
 - 	END OBJ(threads, &update_threads)
 - 	END OBJ(running_threads, &update_stat)
 - #else
 -@@ -967,8 +967,10 @@
 - 	END OBJ(xmms2_size, &update_xmms2)
 - 	END OBJ(xmms2_status, &update_xmms2)
 - 	END OBJ(xmms2_percent, &update_xmms2)
 -+#ifdef X11
 - 	END OBJ(xmms2_bar, &update_xmms2)
 - 		scan_bar(obj, arg);
 -+#endif
 - 	END OBJ(xmms2_smart, &update_xmms2)
 - 	END OBJ(xmms2_playlist, &update_xmms2)
 - 	END OBJ(xmms2_timesplayed, &update_xmms2)
 -@@ -994,9 +996,11 @@
 - 	END OBJ(audacious_playlist_length, &update_audacious)
 - 	END OBJ(audacious_playlist_position, &update_audacious)
 - 	END OBJ(audacious_main_volume, &update_audacious)
 -+#ifdef X11
 - 	END OBJ(audacious_bar, &update_audacious)
 - 		scan_bar(obj, arg);
 - #endif
 -+#endif
 - #ifdef BMPX
 - 	END OBJ(bmpx_title, &update_bmpx)
 - 		memset(&(info.bmpx), 0, sizeof(struct bmpx_s));
 diff -ruN --exclude=CVS conky.o/files/patch-src-exec.c conky/files/patch-src-exec.c
 --- conky.o/files/patch-src-exec.c	2010-10-30 14:43:47.000000000 +0300
 +++ conky/files/patch-src-exec.c	1970-01-01 02:00:00.000000000 +0200
 @@ -1,28 +0,0 @@
 ---- src/exec.c.orig	2010-10-27 20:19:48.000000000 +0300
 -+++ src/exec.c	2010-10-27 20:19:52.000000000 +0300
 -@@ -93,6 +93,7 @@
 - 		} else {
 - 			close(1);
 - 		}
 -+		close(parentend);
 - 		dup(childend);	//by dupping childend, the returned fd will have close-on-exec turned off
 - 		execl("/bin/sh", "sh", "-c", command, (char *) NULL);
 - 		_exit(EXIT_FAILURE); //child should die here, (normally execl will take care of this but it can fail)
 -@@ -156,7 +157,7 @@
 - 		int length;
 - 
 - 		length = fread(buf, 1, size, fp);
 --		pclose(fp);
 -+		fclose(fp);
 - 		buf[length] = '\0';
 - 		if (length > 0 && buf[length - 1] == '\n') {
 - 			buf[length - 1] = '\0';
 -@@ -320,7 +321,7 @@
 - 			ed->buffer = malloc(text_buffer_size);
 - 
 - 		length = fread(ed->buffer, 1, text_buffer_size, fp);
 --		pclose(fp);
 -+		fclose(fp);
 - 
 - 		output = ed->buffer;
 - 		output[length] = '\0';
 diff -ruN --exclude=CVS conky.o/files/patch-src-freebsd.c conky/files/patch-src-freebsd.c
 --- conky.o/files/patch-src-freebsd.c	2012-03-08 07:07:14.000000000 +0200
 +++ conky/files/patch-src-freebsd.c	2012-12-06 04:27:49.000000000 +0200
 @@ -1,5 +1,5 @@
 ---- src/freebsd.c.orig	2010-10-06 00:29:36.000000000 +0300
 -+++ src/freebsd.c	2012-03-05 01:02:25.000000000 +0200
 +--- src/freebsd.c.orig	2012-05-04 00:08:27.000000000 +0300
 ++++ src/freebsd.c	2012-12-04 11:09:20.000000000 +0200
  @@ -38,6 +38,11 @@
   #include <sys/types.h>
   #include <sys/user.h>
 @@ -12,21 +12,8 @@
   #include <net/if.h>
   #include <net/if_mib.h>
   #include <net/if_media.h>
 -@@ -266,7 +271,9 @@
 - {
 - 	int n_processes;
 - 
 -+	pthread_mutex_lock(&kvm_proc_mutex);
 - 	kvm_getprocs(kd, KERN_PROC_ALL, 0, &n_processes);
 -+	pthread_mutex_unlock(&kvm_proc_mutex);
 - 
 - 	info.procs = n_processes;
 - 	return 0;
 -@@ -278,9 +285,10 @@
 - 	int n_processes;
 - 	int i, cnt = 0;
 - 
 -+	pthread_mutex_lock(&kvm_proc_mutex);
 +@@ -283,7 +288,7 @@
 + 	pthread_mutex_lock(&kvm_proc_mutex);
   	p = kvm_getprocs(kd, KERN_PROC_ALL, 0, &n_processes);
   	for (i = 0; i < n_processes; i++) {
  -#if (__FreeBSD__ < 5) && (__FreeBSD_kernel__ < 5)
 @@ -34,35 +21,35 @@
   		if (p[i].kp_proc.p_stat == SRUN) {
   #else
   		if (p[i].ki_stat == SRUN) {
 -@@ -288,6 +296,7 @@
 - 			cnt++;
 - 		}
 - 	}
 -+	pthread_mutex_unlock(&kvm_proc_mutex);
 - 
 - 	info.run_procs = cnt;
 - 	return 0;
 -@@ -296,7 +305,6 @@
 +@@ -300,7 +305,9 @@
   void get_cpu_count(void)
   {
   	int cpu_count = 0;
  -	size_t cpu_count_len = sizeof(cpu_count);
 ++	/* add check for !info.cpu_usage since that mem is freed on a SIGUSR1 */
 ++	if ((cpu_setup == 1) && (info.cpu_usage))
 ++		return;
   
   	if (GETSYSCTL("hw.ncpu", cpu_count) == 0) {
   		info.cpu_count = cpu_count;
 -@@ -748,6 +756,7 @@
 - 		CRIT_ERR(NULL, NULL, "Cannot read sysctl \"vm.stats.vm.v_page_count\"");
 +@@ -313,6 +320,7 @@
 + 	if (info.cpu_usage == NULL) {
 + 		CRIT_ERR(NULL, NULL, "malloc");
   	}
 ++	cpu_setup = 1;
 + }
   
 -+	pthread_mutex_lock(&kvm_proc_mutex);
 - 	p = kvm_getprocs(kd, KERN_PROC_PROC, 0, &n_processes);
 - 	processes = malloc(n_processes * sizeof(struct process));
 - 
 -@@ -764,6 +769,7 @@
 - 			j++;
 - 		}
 - 	}
 -+	pthread_mutex_unlock(&kvm_proc_mutex);
 + struct cpu_info {
 +@@ -330,11 +338,7 @@
 + 	unsigned int malloc_cpu_size = 0;
 + 	extern void* global_cpu;
 + 
 +-	/* add check for !info.cpu_usage since that mem is freed on a SIGUSR1 */
 +-	if ((cpu_setup == 0) || (!info.cpu_usage)) {
 +-		get_cpu_count();
 +-		cpu_setup = 1;
 +-	}
 ++	get_cpu_count();
   
 - 	qsort(processes, j - 1, sizeof(struct process), comparemem);
 - 	for (i = 0; i < 10 && i < n_processes; i++) {
 + 	if (!global_cpu) {
 + 		malloc_cpu_size = (info.cpu_count + 1) * sizeof(struct cpu_info);
 diff -ruN --exclude=CVS conky.o/files/patch-src-freebsd.h conky/files/patch-src-freebsd.h
 --- conky.o/files/patch-src-freebsd.h	2010-10-30 14:43:47.000000000 +0300
 +++ conky/files/patch-src-freebsd.h	2012-12-06 04:27:49.000000000 +0200
 @@ -1,16 +1,10 @@
 ---- src/freebsd.h.orig	2010-10-24 03:14:11.000000000 +0300
 -+++ src/freebsd.h	2010-10-24 03:13:05.000000000 +0300
 -@@ -9,11 +9,13 @@
 - #include <sys/ucred.h>
 +--- src/freebsd.h.orig	2012-12-04 04:24:41.000000000 +0200
 ++++ src/freebsd.h	2012-12-04 04:24:52.000000000 +0200
 +@@ -10,6 +10,7 @@
   #include <fcntl.h>
   #include <kvm.h>
 -+#include <pthread.h>
 + #include <pthread.h>
 ++#include <stdbool.h>
   #if (defined(i386) || defined(__i386__))
   #include <machine/apm_bios.h>
   #endif /* i386 || __i386__ */
 - 
 - kvm_t *kd;
 -+pthread_mutex_t kvm_proc_mutex;
 - 
 - int get_entropy_avail(unsigned int *);
 - int get_entropy_poolsize(unsigned int *);
 diff -ruN --exclude=CVS conky.o/files/patch-src-fs.c conky/files/patch-src-fs.c
 --- conky.o/files/patch-src-fs.c	1970-01-01 02:00:00.000000000 +0200
 +++ conky/files/patch-src-fs.c	2012-12-06 04:27:49.000000000 +0200
 @@ -0,0 +1,18 @@
 +--- src/fs.c.orig	2012-05-04 00:08:27.000000000 +0300
 ++++ src/fs.c	2012-07-18 20:24:10.000000000 +0300
 +@@ -118,9 +118,15 @@
 + 
 + static void update_fs_stat(struct fs_stat *fs)
 + {
 ++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
 ++	struct statfs s;
 ++
 ++	if (statfs(fs->path, &s) == 0) {
 ++#else
 + 	struct statfs64 s;
 + 
 + 	if (statfs64(fs->path, &s) == 0) {
 ++#endif
 + 		fs->size = (long long)s.f_blocks * s.f_bsize;
 + 		/* bfree (root) or bavail (non-roots) ? */
 + 		fs->avail = (long long)s.f_bavail * s.f_bsize;
 diff -ruN --exclude=CVS conky.o/files/patch-src-xmms2.c conky/files/patch-src-xmms2.c
 --- conky.o/files/patch-src-xmms2.c	2010-10-19 04:12:52.000000000 +0300
 +++ conky/files/patch-src-xmms2.c	1970-01-01 02:00:00.000000000 +0200
 @@ -1,11 +0,0 @@
 ---- src/xmms2.c.orig	2010-09-29 04:54:10.000000000 +0300
 -+++ src/xmms2.c	2010-09-29 04:55:19.000000000 +0300
 -@@ -223,7 +223,7 @@
 - 				break;
 - 			case XMMS_PLAYBACK_STATUS_STOP:
 - 				strncpy(ptr->xmms2.status, "Stopped", text_buffer_size - 1);
 --				ptr->xmms2.elapsed = ptr->xmms2.progress = ptr->xmms2.percent = 0;
 -+				ptr->xmms2.elapsed = ptr->xmms2.progress = 0;
 - 				break;
 - 			default:
 - 				strncpy(ptr->xmms2.status, "Unknown", text_buffer_size - 1);
 ===> Done
 
 --huq684BweRXVnRxX--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201212070940.qB79e10V019857>