[BusyBox-cvs] svn commit: trunk/busybox/patches

vapier at busybox.net vapier at busybox.net
Sun Apr 24 05:39:52 UTC 2005


Author: vapier
Date: 2005-04-23 23:39:52 -0600 (Sat, 23 Apr 2005)
New Revision: 10175

Log:
use busybox funcs to make smaller

Modified:
   trunk/busybox/patches/ed.patch


Changeset:
Modified: trunk/busybox/patches/ed.patch
===================================================================
--- trunk/busybox/patches/ed.patch	2005-04-24 05:18:00 UTC (rev 10174)
+++ trunk/busybox/patches/ed.patch	2005-04-24 05:39:52 UTC (rev 10175)
@@ -60,8 +60,8 @@
  	APPLET_NOUSAGE("egrep", grep_main, _BB_DIR_BIN, _BB_SUID_NEVER)
  #endif
 --- /dev/null	2005-04-24 01:00:01.350003056 -0400
-+++ editors/ed.c	2005-04-24 01:15:09.000000000 -0400
-@@ -0,0 +1,1447 @@
++++ ed.c	2005-04-24 01:38:51.000000000 -0400
+@@ -0,0 +1,1425 @@
 +/*
 + * Copyright (c) 2002 by David I. Bell
 + * Permission is granted to use, distribute, or modify this source,
@@ -80,50 +80,37 @@
 +#include <ctype.h>
 +#include <sys/param.h>
 +#include <malloc.h>
-+//#include "sash.h"
++#include "busybox.h"
 +
 +#define	USERSIZE	1024	/* max line length typed in by user */
 +#define	INITBUF_SIZE	1024	/* initial buffer size */
 +
 +typedef	int	BOOL;
-+
-+#define	FALSE	((BOOL) 0)
-+#define	TRUE	((BOOL) 1)
-+
-+#define	isBlank(ch)	(((ch) == ' ') || ((ch) == '\t'))
-+#define	isDecimal(ch)	(((ch) >= '0') && ((ch) <= '9'))
-+
-+#define	STDOUT		1
-+
 +typedef	int	NUM;
 +typedef	int	LEN;
 +
-+typedef	struct	LINE	LINE;
-+
-+struct	LINE
-+{
-+	LINE *	next;
-+	LINE *	prev;
++typedef struct LINE LINE;
++struct LINE {
++	LINE *next;
++	LINE *prev;
 +	LEN	len;
-+	char	data[1];
++	char data[1];
 +};
 +
++static LINE lines;
++static LINE *curLine;
++static NUM curNum;
++static NUM lastNum;
++static NUM marks[26];
++static BOOL dirty;
++static char *fileName;
++static char searchString[USERSIZE];
 +
-+static	LINE	lines;
-+static	LINE *	curLine;
-+static	NUM	curNum;
-+static	NUM	lastNum;
-+static	NUM	marks[26];
-+static	BOOL	dirty;
-+static	char *	fileName;
-+static	char	searchString[USERSIZE];
++static char *bufBase;
++static char *bufPtr;
++static LEN bufUsed;
++static LEN bufSize;
 +
-+static	char *	bufBase;
-+static	char *	bufPtr;
-+static	LEN	bufUsed;
-+static	LEN	bufSize;
-+
-+
 +static	void	doCommands(void);
 +static	void	subCommand(const char * cmd, NUM num1, NUM num2);
 +static	BOOL	getNum(const char ** retcp, BOOL * retHaveNum, NUM * retNum);
@@ -139,33 +126,25 @@
 +static	NUM	searchLines(const char * str, NUM num1, NUM num2);
 +static	LINE *	findLine(NUM num);
 +
-+static	LEN	findString
-+	(const LINE * lp, const char * str, LEN len, LEN offset);
++static LEN findString(const LINE * lp, const char * str, LEN len, LEN offset);
 +
-+
-+void
-+ed_main(int argc, const char ** argv)
++int ed_main(int argc, char **argv)
 +{
 +	if (!initEdit())
-+		return;
++		return EXIT_FAILURE;
 +
-+	if (argc > 1)
-+	{
++	if (argc > 1) {
 +		fileName = strdup(argv[1]);
 +
-+		if (fileName == NULL)
-+		{
-+			fprintf(stderr, "No memory\n");
++		if (fileName == NULL) {
++			bb_error_msg("No memory");
 +			termEdit();
-+
-+			return;
++			return EXIT_SUCCESS;
 +		}
 +
-+		if (!readLines(fileName, 1))
-+		{
++		if (!readLines(fileName, 1)) {
 +			termEdit();
-+
-+			return;
++			return EXIT_SUCCESS;
 +		}
 +
 +		if (lastNum)
@@ -177,14 +156,13 @@
 +	doCommands();
 +
 +	termEdit();
++	return EXIT_SUCCESS;
 +}
 +
-+
 +/*
 + * Read commands until we are told to stop.
 + */
-+static void
-+doCommands(void)
++static void doCommands(void)
 +{
 +	const char *	cp;
 +	char *		endbuf;
@@ -213,7 +191,7 @@
 +
 +		if (*endbuf != '\n')
 +		{
-+			fprintf(stderr, "Command line too long\n");
++			bb_error_msg("Command line too long");
 +
 +			do
 +			{
@@ -224,14 +202,14 @@
 +			continue;
 +		}
 +
-+		while ((endbuf > buf) && isBlank(endbuf[-1]))
++		while ((endbuf > buf) && isblank(endbuf[-1]))
 +			endbuf--;
 +
 +		*endbuf = '\0';
 +
 +		cp = buf;
 +
-+		while (isBlank(*cp))
++		while (isblank(*cp))
 +			cp++;
 +
 +		have1 = FALSE;
@@ -246,7 +224,7 @@
 +		if (!getNum(&cp, &have1, &num1))
 +			continue;
 +
-+		while (isBlank(*cp))
++		while (isblank(*cp))
 +			cp++;
 +
 +		if (*cp == ',')
@@ -288,13 +266,13 @@
 +				break;
 +
 +			case 'f':
-+				if (*cp && !isBlank(*cp))
++				if (*cp && !isblank(*cp))
 +				{
-+					fprintf(stderr, "Bad file command\n");
++					bb_error_msg("Bad file command");
 +					break;
 +				}
 +
-+				while (isBlank(*cp))
++				while (isblank(*cp))
 +					cp++;
 +
 +				if (*cp == '\0')
@@ -311,7 +289,7 @@
 +
 +				if (newname == NULL)
 +				{
-+					fprintf(stderr, "No memory for file name\n");
++					bb_error_msg("No memory for file name");
 +					break;
 +				}
 +
@@ -326,12 +304,12 @@
 +				break;
 +
 +			case 'k':
-+				while (isBlank(*cp))
++				while (isblank(*cp))
 +					cp++;
 +
 +				if ((*cp < 'a') || (*cp > 'a') || cp[1])
 +				{
-+					fprintf(stderr, "Bad mark name\n");
++					bb_error_msg("Bad mark name");
 +					break;
 +				}
 +
@@ -347,12 +325,12 @@
 +				break;
 +
 +			case 'q':
-+				while (isBlank(*cp))
++				while (isblank(*cp))
 +					cp++;
 +
 +				if (have1 || *cp)
 +				{
-+					fprintf(stderr, "Bad quit command\n");
++					bb_error_msg("Bad quit command");
 +					break;
 +				}
 +
@@ -366,7 +344,7 @@
 +				fgets(buf, sizeof(buf), stdin);
 +				cp = buf;
 +
-+				while (isBlank(*cp))
++				while (isblank(*cp))
 +					cp++;
 +
 +				if ((*cp == 'y') || (*cp == 'Y'))
@@ -375,18 +353,18 @@
 +				break;
 +
 +			case 'r':
-+				if (*cp && !isBlank(*cp))
++				if (*cp && !isblank(*cp))
 +				{
-+					fprintf(stderr, "Bad read command\n");
++					bb_error_msg("Bad read command");
 +					break;
 +				}
 +
-+				while (isBlank(*cp))
++				while (isblank(*cp))
 +					cp++;
 +
 +				if (*cp == '\0')
 +				{
-+					fprintf(stderr, "No file name\n");
++					bb_error_msg("No file name");
 +					break;
 +				}
 +
@@ -406,13 +384,13 @@
 +				break;
 +
 +			case 'w':
-+				if (*cp && !isBlank(*cp))
++				if (*cp && !isblank(*cp))
 +				{
-+					fprintf(stderr, "Bad write command\n");
++					bb_error_msg("Bad write command");
 +					break;
 +				}
 +
-+				while (isBlank(*cp))
++				while (isblank(*cp))
 +					cp++;
 +
 +				if (!have1) {
@@ -425,7 +403,7 @@
 +
 +				if (cp == NULL)
 +				{
-+					fprintf(stderr, "No file name specified\n");
++					bb_error_msg("No file name specified");
 +					break;
 +				}
 +	
@@ -450,7 +428,7 @@
 +			case '.':
 +				if (have1)
 +				{
-+					fprintf(stderr, "No arguments allowed\n");
++					bb_error_msg("No arguments allowed");
 +					break;
 +				}
 +
@@ -480,7 +458,7 @@
 +				break;
 +
 +			default:
-+				fprintf(stderr, "Unimplemented command\n");
++				bb_error_msg("Unimplemented command");
 +				break;
 +		}
 +	}
@@ -512,7 +490,7 @@
 +
 +	if ((num1 < 1) || (num2 > lastNum) || (num1 > num2))
 +	{
-+		fprintf(stderr, "Bad line range for substitute\n");
++		bb_error_msg("Bad line range for substitute");
 +
 +		return;
 +	}
@@ -528,9 +506,9 @@
 +	strcpy(buf, cmd);
 +	cp = buf;
 +
-+	if (isBlank(*cp) || (*cp == '\0'))
++	if (isblank(*cp) || (*cp == '\0'))
 +	{
-+		fprintf(stderr, "Bad delimiter for substitute\n");
++		bb_error_msg("Bad delimiter for substitute");
 +
 +		return;
 +	}
@@ -542,7 +520,7 @@
 +
 +	if (cp == NULL)
 +	{
-+		fprintf(stderr, "Missing 2nd delimiter for substitute\n");
++		bb_error_msg("Missing 2nd delimiter for substitute");
 +
 +		return;
 +	}
@@ -568,7 +546,7 @@
 +			break;
 +
 +		default:
-+			fprintf(stderr, "Unknown option for substitute\n");
++			bb_error_msg("Unknown option for substitute");
 +
 +			return;
 +	}
@@ -577,7 +555,7 @@
 +	{
 +		if (searchString[0] == '\0')
 +		{
-+			fprintf(stderr, "No previous search string\n");
++			bb_error_msg("No previous search string");
 +
 +			return;
 +		}
@@ -665,7 +643,7 @@
 +
 +		if (nlp == NULL)
 +		{
-+			fprintf(stderr, "Cannot get memory for line\n");
++			bb_error_msg("Cannot get memory for line");
 +
 +			return;
 +		}
@@ -707,7 +685,7 @@
 +	}
 +
 +	if (!didSub)
-+		fprintf(stderr, "No substitutions found for \"%s\"\n", oldStr);
++		bb_error_msg("No substitutions found for \"%s\"", oldStr);
 +}
 +
 +
@@ -774,7 +752,7 @@
 +
 +		if (buf[len - 1] != '\n')
 +		{
-+			fprintf(stderr, "Line too long\n");
++			bb_error_msg("Line too long");
 +
 +			do
 +			{
@@ -817,7 +795,7 @@
 +
 +	while (TRUE)
 +	{
-+		while (isBlank(*cp))
++		while (isblank(*cp))
 +			cp++;
 +
 +		switch (*cp)
@@ -839,7 +817,7 @@
 +
 +				if ((*cp < 'a') || (*cp > 'z'))
 +				{
-+					fprintf(stderr, "Bad mark name\n");
++					bb_error_msg("Bad mark name");
 +
 +					return FALSE;
 +				}
@@ -869,7 +847,7 @@
 +				break;
 +
 +			default:
-+				if (!isDecimal(*cp))
++				if (!isdigit(*cp))
 +				{
 +					*retcp = cp;
 +					*retHaveNum = haveNum;
@@ -880,7 +858,7 @@
 +
 +				num = 0;
 +
-+				while (isDecimal(*cp))
++				while (isdigit(*cp))
 +					num = num * 10 + *cp++ - '0';
 +
 +				haveNum = TRUE;
@@ -889,7 +867,7 @@
 +
 +		value += num * sign;
 +
-+		while (isBlank(*cp))
++		while (isblank(*cp))
 +			cp++;
 +
 +		switch (*cp)
@@ -928,7 +906,7 @@
 +
 +	if (bufBase == NULL)
 +	{
-+		fprintf(stderr, "No memory for buffer\n");
++		bb_error_msg("No memory for buffer");
 +
 +		return FALSE;
 +	}
@@ -999,7 +977,7 @@
 +
 +	if ((num < 1) || (num > lastNum + 1))
 +	{
-+		fprintf(stderr, "Bad line for read\n");
++		bb_error_msg("Bad line for read");
 +
 +		return FALSE;
 +	}
@@ -1059,7 +1037,7 @@
 +
 +			if (cp == NULL)
 +			{
-+				fprintf(stderr, "No memory for buffer\n");
++				bb_error_msg("No memory for buffer");
 +				close(fd);
 +
 +				return FALSE;
@@ -1121,7 +1099,7 @@
 +
 +	if ((num1 < 1) || (num2 > lastNum) || (num1 > num2))
 +	{
-+		fprintf(stderr, "Bad line range for write\n");
++		bb_error_msg("Bad line range for write");
 +
 +		return FALSE;
 +	}
@@ -1193,7 +1171,7 @@
 +
 +	if ((num1 < 1) || (num2 > lastNum) || (num1 > num2))
 +	{
-+		fprintf(stderr, "Bad line range for print\n");
++		bb_error_msg("Bad line range for print");
 +
 +		return FALSE;
 +	}
@@ -1207,7 +1185,7 @@
 +	{
 +		if (!expandFlag)
 +		{
-+			write(STDOUT, lp->data, lp->len);
++			write(1, lp->data, lp->len);
 +			setCurNum(num1++);
 +			lp = lp->next;
 +
@@ -1274,7 +1252,7 @@
 +
 +	if ((num < 1) || (num > lastNum + 1))
 +	{
-+		fprintf(stderr, "Inserting at bad line number\n");
++		bb_error_msg("Inserting at bad line number");
 +
 +		return FALSE;
 +	}
@@ -1283,7 +1261,7 @@
 +
 +	if (newLp == NULL) 
 +	{
-+		fprintf(stderr, "Failed to allocate memory for line\n");
++		bb_error_msg("Failed to allocate memory for line");
 +
 +		return FALSE;
 +	}
@@ -1330,7 +1308,7 @@
 +
 +	if ((num1 < 1) || (num2 > lastNum) || (num1 > num2))
 +	{
-+		fprintf(stderr, "Bad line numbers for delete\n");
++		bb_error_msg("Bad line numbers for delete");
 +
 +		return FALSE;
 +	}
@@ -1391,7 +1369,7 @@
 +
 +	if ((num1 < 1) || (num2 > lastNum) || (num1 > num2))
 +	{
-+		fprintf(stderr, "Bad line numbers for search\n");
++		bb_error_msg("Bad line numbers for search");
 +
 +		return 0;
 +	}
@@ -1400,7 +1378,7 @@
 +	{
 +		if (searchString[0] == '\0')
 +		{
-+			fprintf(stderr, "No previous search string\n");
++			bb_error_msg("No previous search string");
 +
 +			return 0;
 +		}
@@ -1427,7 +1405,7 @@
 +		lp = lp->next;
 +	}
 +
-+	fprintf(stderr, "Cannot find string \"%s\"\n", str);
++	bb_error_msg("Cannot find string \"%s\"", str);
 +
 +	return 0;
 +}
@@ -1444,7 +1422,7 @@
 +
 +	if ((num < 1) || (num > lastNum))
 +	{
-+		fprintf(stderr, "Line number %d does not exist\n", num);
++		bb_error_msg("Line number %d does not exist", num);
 +
 +		return NULL;
 +	}




More information about the busybox-cvs mailing list