patch for vinum to use libedit
Peter Avalos
pavalos at theshell.com
Sun May 6 11:37:55 PDT 2007
Here's a patch that switches vinum to libedit. I don't use vinum, so
this is untested, and I'd appreciate anyone that uses vinum to give
some feedback.
--Peter
also available at http://www.theshell.com/~pavalos/wip/vinum.patch
Switch from readline to libedit.
v.c: Change history to hist to prevent symbol collision from libedit.
Index: Makefile
===================================================================
RCS file: /home/dcvs/src/sbin/vinum/Makefile,v
retrieving revision 1.8
diff -u -r1.8 Makefile
--- Makefile 17 Oct 2006 00:55:44 -0000 1.8
+++ Makefile 29 Apr 2007 16:05:21 -0000
@@ -6,8 +6,8 @@
MAN= vinum.8
WARNS?= 2
-CFLAGS+= -I${.CURDIR}/../../sys
-DPADD= ${LIBUTIL} ${LIBREADLINE} ${LIBTERMCAP}
-LDADD= -lreadline -ltermcap -ldevstat
+CFLAGS+= -I${.CURDIR}/../../lib/libedit -I${.CURDIR}/../../sys
+DPADD= ${LIBEDIT} ${LIBTERMCAP} ${LIBDEVSTAT}
+LDADD= -ledit -ltermcap -ldevstat
.include <bsd.prog.mk>
Index: commands.c
===================================================================
RCS file: /home/dcvs/src/sbin/vinum/commands.c,v
retrieving revision 1.7
diff -u -r1.7 commands.c
--- commands.c 20 Jan 2007 19:20:39 -0000 1.7
+++ commands.c 6 May 2007 18:31:39 -0000
@@ -59,7 +59,6 @@
#include <sys/linker.h>
#include <sys/module.h>
#include <sys/wait.h>
-#include <readline/history.h>
#include <readline/readline.h>
#include <devstat.h>
Index: v.c
===================================================================
RCS file: /home/dcvs/src/sbin/vinum/v.c,v
retrieving revision 1.5
diff -u -r1.5 v.c
--- v.c 20 Jan 2007 19:20:39 -0000 1.5
+++ v.c 6 May 2007 18:31:31 -0000
@@ -54,14 +54,13 @@
#include "vext.h"
#include <sys/types.h>
#include <sys/wait.h>
-#include <readline/history.h>
#include <readline/readline.h>
#include <sys/linker.h>
#include <sys/module.h>
#include <sys/resource.h>
FILE *cf; /* config file handle */
-FILE *history; /* history file */
+FILE *hist; /* history file */
char *historyfile; /* and its name */
char *dateformat; /* format in which to store date */
@@ -139,11 +138,11 @@
errno);
exit(1);
}
- history = fopen(historyfile, "a+");
- if (history != NULL) {
+ hist = fopen(historyfile, "a+");
+ if (hist != NULL) {
timestamp();
- fprintf(history, "*** " VINUMMOD " started ***\n");
- fflush(history); /* before we start the daemon */
+ fprintf(hist, "*** " VINUMMOD " started ***\n");
+ fflush(hist); /* before we start the daemon */
}
superdev = open(VINUM_SUPERDEV_NAME, O_RDWR); /* open vinum superdevice */
if (superdev < 0) { /* no go */
@@ -224,8 +223,8 @@
if (tokens)
parseline(tokens, token); /* and do what he says */
}
- if (history)
- fflush(history);
+ if (hist)
+ fflush(hist);
}
}
return 0; /* normal completion */
@@ -316,11 +315,11 @@
int j;
enum keyword command; /* command to execute */
- if (history != NULL) { /* save the command to history file */
+ if (hist != NULL) { /* save the command to history file */
timestamp();
for (i = 0; i < args; i++) /* all args */
- fprintf(history, "%s ", argv[i]);
- fputs("\n", history);
+ fprintf(hist, "%s ", argv[i]);
+ fputs("\n", hist);
}
if ((args == 0) /* empty line */
||(*argv[0] == '#')) /* or a comment, */
@@ -525,9 +524,9 @@
perror(VINUMMOD ": Can't write to /dev");
return;
}
- if (history) {
+ if (hist) {
timestamp();
- fprintf(history, "*** Created devices ***\n");
+ fprintf(hist, "*** Created devices ***\n");
}
if (superdev >= 0) /* super device open */
close(superdev);
@@ -849,7 +848,7 @@
char datetext[MAXDATETEXT];
time_t sec;
- if (history != NULL) {
+ if (hist != NULL) {
if (gettimeofday(&now, NULL) != 0) {
fprintf(stderr, "Can't get time: %s\n", strerror(errno));
return;
@@ -857,7 +856,7 @@
sec = now.tv_sec;
date = localtime(&sec);
strftime(datetext, MAXDATETEXT, dateformat, date),
- fprintf(history,
+ fprintf(hist,
"%s.%06ld ",
datetext,
now.tv_usec);
Attachment:
pgp00000.pgp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pgp00000.pgp
Type: application/octet-stream
Size: 189 bytes
Desc: "Description: PGP signature"
URL: <http://lists.dragonflybsd.org/pipermail/submit/attachments/20070506/7e5cc5a7/attachment-0018.obj>
More information about the Submit
mailing list