summaryrefslogtreecommitdiff
path: root/usr.bin/diff3
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2019-12-17 09:13:48 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2019-12-17 09:13:48 +0000
commit9520071f7e2e3eb910dfe08a1f46e50a96c403c4 (patch)
treeeaab4538978902449dfa255fd78a957b5957f773 /usr.bin/diff3
parentade8a0f1d11068161243e5d2ebfe2942f5561ad7 (diff)
downloadsrc-test2-9520071f7e2e3eb910dfe08a1f46e50a96c403c4.tar.gz
src-test2-9520071f7e2e3eb910dfe08a1f46e50a96c403c4.zip
Use strtoimax.
Use existing strtoimax instead of reinventing it
Notes
Notes: svn path=/head/; revision=355847
Diffstat (limited to 'usr.bin/diff3')
-rw-r--r--usr.bin/diff3/diff3.c22
1 files changed, 6 insertions, 16 deletions
diff --git a/usr.bin/diff3/diff3.c b/usr.bin/diff3/diff3.c
index 4afe1767bb13..c475c3d65b07 100644
--- a/usr.bin/diff3/diff3.c
+++ b/usr.bin/diff3/diff3.c
@@ -84,6 +84,8 @@ __FBSDID("$FreeBSD$");
#include <getopt.h>
#include <stdio.h>
#include <stdlib.h>
+#include <limits.h>
+#include <inttypes.h>
#include <string.h>
#include <unistd.h>
@@ -132,7 +134,6 @@ static bool duplicate(struct range *, struct range *);
static int edit(struct diff *, bool, int);
static char *getchange(FILE *);
static char *get_line(FILE *, size_t *);
-static int number(char **);
static int readin(int fd, struct diff **);
static int skip(int, int, const char *);
static void change(int, struct range *, bool);
@@ -188,16 +189,16 @@ readin(int fd, struct diff **dd)
for (i=0; (p = getchange(f)); i++) {
if (i >= szchanges - 1)
increase();
- a = b = number(&p);
+ a = b = (int)strtoimax(p, &p, 10);
if (*p == ',') {
p++;
- b = number(&p);
+ b = (int)strtoimax(p, &p, 10);
}
kind = *p++;
- c = d = number(&p);
+ c = d = (int)strtoimax(p, &p, 10);
if (*p==',') {
p++;
- d = number(&p);
+ d = (int)strtoimax(p, &p, 10);
}
if (kind == 'a')
a++;
@@ -240,17 +241,6 @@ diffexec(const char *diffprog, char **diffargv, int fd[])
return (pd);
}
-static int
-number(char **lc)
-{
- int nn;
-
- nn = 0;
- while (isdigit((unsigned char)(**lc)))
- nn = nn*10 + *(*lc)++ - '0';
- return (nn);
-}
-
static char *
getchange(FILE *b)
{