svn commit: r294860 - in head: lib/libdpv sys/sys

Devin Teske dteske at FreeBSD.org
Tue Jan 26 23:56:29 UTC 2016


Author: dteske
Date: Tue Jan 26 23:56:27 2016
New Revision: 294860
URL: https://svnweb.freebsd.org/changeset/base/294860

Log:
  Add keep_tite configuration option
  
  Similar to dialog(3) keep_tite option used to prevent visually disturbing
  initialization or exit that could occur when run from a script using
  dpv(3) by way of dpv(1) in sequence with other dialog(1) invocations.

Modified:
  head/lib/libdpv/dpv.3
  head/lib/libdpv/dpv.c
  head/lib/libdpv/dpv.h
  head/lib/libdpv/dpv_private.h
  head/sys/sys/param.h

Modified: head/lib/libdpv/dpv.3
==============================================================================
--- head/lib/libdpv/dpv.3	Tue Jan 26 23:37:07 2016	(r294859)
+++ head/lib/libdpv/dpv.3	Tue Jan 26 23:56:27 2016	(r294860)
@@ -1,4 +1,4 @@
-.\" Copyright (c) 2013-2015 Devin Teske
+.\" Copyright (c) 2013-2016 Devin Teske
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd Oct 22, 2015
+.Dd Jan 26, 2016
 .Dt DPV 3
 .Os
 .Sh NAME
@@ -64,6 +64,7 @@ argument contains the following properti
 features:
 .Bd -literal -offset indent
 struct dpv_config {
+    uint8_t          keep_tite;     /* Cleaner exit for scripts */
     enum dpv_display display_type;  /* Def. DPV_DISPLAY_LIBDIALOG */
     enum dpv_output  output_type;   /* Default DPV_OUTPUT_NONE */
     int              debug;         /* Enable debug on stderr */

Modified: head/lib/libdpv/dpv.c
==============================================================================
--- head/lib/libdpv/dpv.c	Tue Jan 26 23:37:07 2016	(r294859)
+++ head/lib/libdpv/dpv.c	Tue Jan 26 23:56:27 2016	(r294860)
@@ -69,6 +69,7 @@ long long dpv_overall_read = 0;
 static char pathbuf[PATH_MAX];
 
 /* Extra display information */
+uint8_t keep_tite = FALSE;	/* dpv_config.keep_tite */
 uint8_t no_labels = FALSE;	/* dpv_config.options & DPV_NO_LABELS */
 uint8_t wide = FALSE;		/* dpv_config.options & DPV_WIDE_MODE */
 char *aprompt = NULL;		/* dpv_config.aprompt */
@@ -150,6 +151,7 @@ dpv(struct dpv_config *config, struct dp
 	dialog_updates_per_second = DIALOG_UPDATES_PER_SEC;
 	display_limit	= DISPLAY_LIMIT_DEFAULT;
 	display_type	= DPV_DISPLAY_LIBDIALOG;
+	keep_tite	= FALSE;
 	label_size	= LABEL_SIZE_DEFAULT;
 	msg_done	= NULL;
 	msg_fail	= NULL;
@@ -193,6 +195,7 @@ dpv(struct dpv_config *config, struct dp
 		dialog_updates_per_second = config->dialog_updates_per_second;
 		display_limit	= config->display_limit;
 		display_type	= config->display_type;
+		keep_tite	= config->keep_tite;
 		label_size	= config->label_size;
 		msg_done	= (char *)config->msg_done;
 		msg_fail	= (char *)config->msg_fail;
@@ -695,7 +698,7 @@ dpv(struct dpv_config *config, struct dp
 			close(dialog_out);
 			waitpid(pid, (int *)NULL, 0);	
 		}
-		if (!dpv_interrupt)
+		if (!keep_tite && !dpv_interrupt)
 			printf("\n");
 	} else
 		warnx("%s: %lli overall read", __func__, dpv_overall_read);

Modified: head/lib/libdpv/dpv.h
==============================================================================
--- head/lib/libdpv/dpv.h	Tue Jan 26 23:37:07 2016	(r294859)
+++ head/lib/libdpv/dpv.h	Tue Jan 26 23:56:27 2016	(r294860)
@@ -97,6 +97,7 @@ struct dpv_file_node {
  * Anatomy of config option to pass as dpv() config argument
  */
 struct dpv_config {
+	uint8_t	keep_tite;		/* Prevent visually distracting exit */
 	enum dpv_display display_type;	/* Display (default TYPE_LIBDIALOG) */
 	enum dpv_output  output_type;	/* Output (default TYPE_NONE) */
 	int	debug;			/* Enable debugging output on stderr */

Modified: head/lib/libdpv/dpv_private.h
==============================================================================
--- head/lib/libdpv/dpv_private.h	Tue Jan 26 23:37:07 2016	(r294859)
+++ head/lib/libdpv/dpv_private.h	Tue Jan 26 23:56:27 2016	(r294860)
@@ -38,6 +38,7 @@ extern uint8_t debug;
 extern unsigned int dpv_nfiles;
 
 /* Extra display information */
+extern uint8_t keep_tite;
 extern uint8_t no_labels;
 extern uint8_t wide;
 extern char *msg_done, *msg_fail, *msg_pending;

Modified: head/sys/sys/param.h
==============================================================================
--- head/sys/sys/param.h	Tue Jan 26 23:37:07 2016	(r294859)
+++ head/sys/sys/param.h	Tue Jan 26 23:56:27 2016	(r294860)
@@ -58,7 +58,7 @@
  *		in the range 5 to 9.
  */
 #undef __FreeBSD_version
-#define __FreeBSD_version 1100096	/* Master, propagated to newvers */
+#define __FreeBSD_version 1100097	/* Master, propagated to newvers */
 
 /*
  * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,


More information about the svn-src-head mailing list