aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog66
-rw-r--r--hesiod/README.hesiod6
-rw-r--r--iconvdata/Makefile37
-rw-r--r--iconvdata/gap.awk39
-rw-r--r--iconvdata/gap.pl16
-rw-r--r--iconvdata/gaptab.awk48
-rw-r--r--iconvdata/gaptab.pl25
-rw-r--r--iconvdata/gen-8bit-gap-1.sh15
-rw-r--r--iconvdata/gen-8bit-gap.sh15
-rw-r--r--iconvdata/gen-8bit.sh10
-rw-r--r--iconvdata/ksc5601.h11
-rw-r--r--manual/argp.texi6
-rw-r--r--manual/arith.texi2
-rw-r--r--manual/llio.texi88
-rw-r--r--manual/message.texi6
-rw-r--r--manual/signal.texi2
-rw-r--r--manual/sysinfo.texi10
-rw-r--r--manual/time.texi2
-rw-r--r--manual/users.texi11
-rw-r--r--sunrpc/svc_tcp.c44
-rw-r--r--sunrpc/xdr_rec.c12
-rw-r--r--sysdeps/i386/i686/ffs.c45
22 files changed, 333 insertions, 183 deletions
diff --git a/ChangeLog b/ChangeLog
index 67d19456fa..5fd5ad89c9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,69 @@
+1998-06-15 18:07 Ulrich Drepper <drepper@cygnus.com>
+
+ * iconvdata/ksc5601.h: Clean up a bit.
+
+1998-06-15 14:35 Ulrich Drepper <drepper@cygnus.com>
+
+ * sunrpc/svc_tcp.c (readtcp): Also listen to all the other connections
+ and process incoming data.
+ * sunrpc/xdr_rec.c (set_input_fragment): Only recognize zero length
+ fragments as invalid.
+ Patches by Thorsten Kukuk <kukuk@weber.uni-paderborn.de>.
+
+1998-06-13 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ Removal of duplicates like "the the".
+ * manual/time.texi (TZ Variable): Likewise.
+ * manual/users.texi (Manipulating the Database): Likewise.
+ * manual/sysinfo.texi (Filesystem handling): Likewise.
+ * manual/signal.texi (Signaling Yourself): Likewise.
+ * manual/message.texi (Message Translation): Likewise.
+ (Common Usage): Likewise.
+ * manual/llio.texi: Likewise.
+ * manual/arith.texi (Old-style number conversion): Likewise.
+ * manual/argp.texi (Argp): Likewise.
+ (Argp Parsers): Likewise.
+ (Argp Help Filtering): Likewise.
+
+ * hesiod/README.hesiod: Correct typo.
+
+ * manual/llio.texi: Correct typos.
+ * manual/sysinfo.texi: Likewise.
+
+1998-06-13 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * rt/aio.h: Rename __op to __operation for g++.
+
+1998-06-13 20:17 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
+
+ * iconvdata/gen-8bit-gap.sh: Use awk not perl. Clean up sed
+ script.
+ * iconvdata/gen-8bit-gap-1.sh: Likewise.
+ * iconvdata/gen-8bit.sh: Clean up sed script.
+
+ * iconvdata/Makefile: Remove all PERL conditionals; build all
+ the modules all the time. Export AWK.
+ (gen-8bit-gap): Delete setting of PERL.
+ (gen-8bit-gap-1): Likewise.
+ (perl-generated-headers): Renamed awk-generated-headers.
+
+ * iconvdata/gap.pl: Removed.
+ * iconvdata/gaptab.pl: Removed.
+ * iconvdata/gap.awk: New file.
+ * iconvdata/gaptab.awk: New file.
+
+1998-06-15 Ulrich Drepper <drepper@cygnus.com>
+
+ * sysdeps/generic/Dist: Add errno-loc.c.
+
+ * sysdeps/unix/sysv/linux/alpha/glob.c: Add prototypes for the
+ __new_* functions.
+
+1998-06-14 14:21 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
+
+ * stdio-common/bug12.c: New test for fread()/fseek().
+ * stdio-common/Makefile (tests): Add bug12.
+
1998-06-14 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/generic/elf/backtracesyms.c: Make array elements
diff --git a/hesiod/README.hesiod b/hesiod/README.hesiod
index 914e0d1bd9..335a73e603 100644
--- a/hesiod/README.hesiod
+++ b/hesiod/README.hesiod
@@ -26,9 +26,9 @@ and their reentrant counterparts.
Configuring your systems
========================
-Configuring your systems to make use use the Hesiod name service
-requires one or more of the following steps, depending on whether you
-are already running Hesiod in your network.
+Configuring your systems to make use the Hesiod name service requires
+one or more of the following steps, depending on whether you are
+already running Hesiod in your network.
Configuring NSS
---------------
diff --git a/iconvdata/Makefile b/iconvdata/Makefile
index 5de9bbfecf..a1634cfb66 100644
--- a/iconvdata/Makefile
+++ b/iconvdata/Makefile
@@ -31,17 +31,15 @@ modules := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 \
EBCDIC-FI-SE-A EBCDIC-FR EBCDIC-IS-FRISS EBCDIC-IT EBCDIC-PT \
EBCDIC-UK EBCDIC-US IBM037 IBM038 IBM274 IBM275 IBM423 \
IBM500 IBM870 IBM871 IBM891 IBM903 IBM904 IBM905 IBM1047 \
- CP874 CP737 CP775 ISO-2022-KR
-ifneq ($(PERL),no)
-modules += KOI8-R LATIN-GREEK LATIN-GREEK-1 IBM256 IBM273 IBM277 IBM278 \
+ CP874 CP737 CP775 ISO-2022-KR \
+ KOI8-R LATIN-GREEK LATIN-GREEK-1 IBM256 IBM273 IBM277 IBM278 \
IBM280 IBM281 IBM284 IBM285 IBM290 IBM297 IBM420 IBM424 \
IBM437 IBM850 IBM851 IBM852 IBM855 IBM857 IBM860 IBM861 \
IBM862 IBM863 IBM864 IBM865 IBM868 IBM869 IBM875 IBM880 \
IBM918 IBM1004 IBM1026 CP1250 CP1251 CP1252 CP1253 CP1254 \
CP1255 CP1256 CP1257 ISO-2022-JP
-endif
-modules.so := $(addsuffix .so, $(modules))
+modules.so := $(addsuffix .so, $(modules))
include ../Makeconfig
@@ -173,7 +171,7 @@ LDFLAGS-libKSC.so = -Wl,-soname,$(@F)
LDFLAGS-libGB.so = -Wl,-soname,$(@F)
LDFLAGS-libCNS.so = -Wl,-soname,$(@F)
-distribute := 8bit-generic.c 8bit-gap.c gap.pl gaptab.pl gconv-modules \
+distribute := 8bit-generic.c 8bit-gap.c gap.awk gaptab.awk gconv-modules \
iso8859-1.c iso8859-2.c iso8859-3.c iso8859-4.c iso8859-5.c \
iso8859-6.c iso8859-7.c iso8859-8.c iso8859-9.c iso8859-10.c \
t61.c iso6937.c sjis.c jis0201.h jis0208.h jis0212.h \
@@ -245,12 +243,14 @@ sed-generated-headers := iso8859-2.h iso8859-3.h iso8859-4.h iso8859-6.h \
define generate-8bit-gap-table
$(make-target-directory)
-PERL="$(PERL)" $(SHELL) ./gen-8bit-gap.sh $< > $(@:stmp=T)
+$(SHELL) ./gen-8bit-gap.sh $< > $(@:stmp=T)
$(move-if-change) $(@:stmp=T) $(@:stmp=h)
touch $@
endef
-perl-generated-headers := koi8-r.h latin-greek.h latin-greek-1.h \
+export AWK
+
+awk-generated-headers := koi8-r.h latin-greek.h latin-greek-1.h \
ibm256.h ibm273.h ibm277.h ibm278.h ibm280.h \
ibm281.h ibm284.h ibm285.h ibm290.h ibm297.h \
ibm420.h ibm424.h ibm437.h ibm850.h ibm851.h \
@@ -263,17 +263,15 @@ perl-generated-headers := koi8-r.h latin-greek.h latin-greek-1.h \
iso8859-10.h iso8859-7jp.h
generated = $(sed-generated-headers) $(sed-generated-headers:%.h=%.stmp) \
- $(perl-generated-headers) $(perl-generated-headers:%.h=%.stmp) \
+ $(awk-generated-headers) $(awk-generated-headers:%.h=%.stmp) \
iconv-test.out
ifdef objpfx
generated += $(objpfx)gconv-modules
endif
# The headers must be generated before the compilation.
-before-compile = $(addprefix $(objpfx),$(sed-generated-headers))
-ifneq ($(PERL),no)
-before-compile += $(addprefix $(objpfx),$(perl-generated-headers))
-endif
+before-compile = $(addprefix $(objpfx),\
+ $(sed-generated-headers) $(awk-generated-headers))
# Rules to generate the headers.
$(sed-generated-headers:%=$(objpfx)%): $(objpfx)%.h: $(objpfx)%.stmp
@@ -355,8 +353,7 @@ $(objpfx)ibm905.stmp: ../localedata/charmaps/IBM905 gen-8bit.sh
$(objpfx)ibm1047.stmp: ../localedata/charmaps/IBM1047 gen-8bit.sh
$(generate-8bit-table)
-ifneq ($(PERL),no)
-$(perl-generated-headers:%=$(objpfx)%): $(objpfx)%.h: $(objpfx)%.stmp
+$(awk-generated-headers:%=$(objpfx)%): $(objpfx)%.h: $(objpfx)%.stmp
@:
$(objpfx)iso8859-5.stmp: ../localedata/charmaps/ISO-8859-5 gen-8bit-gap.sh
@@ -365,7 +362,7 @@ $(objpfx)iso8859-7.stmp: ../localedata/charmaps/ISO-8859-7 gen-8bit-gap.sh
$(generate-8bit-gap-table)
$(objpfx)iso8859-7jp.stmp: ../localedata/charmaps/ISO-8859-7 gen-8bit-gap-1.sh
$(make-target-directory)
- PERL="$(PERL)" $(SHELL) ./gen-8bit-gap-1.sh $< >$(@:stmp=T)
+ $(SHELL) ./gen-8bit-gap-1.sh $< >$(@:stmp=T)
$(move-if-change) $(@:stmp=T) $(@:stmp=h)
touch $@
@@ -460,13 +457,9 @@ $(objpfx)cp1256.stmp: ../localedata/charmaps/CP1256 gen-8bit-gap.sh
$(generate-8bit-gap-table)
$(objpfx)cp1257.stmp: ../localedata/charmaps/CP1257 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-endif
-
-headers: $(addprefix $(objpfx),$(sed-generated-headers))
-ifneq ($(PERL),no)
-headers: $(addprefix $(objpfx),$(perl-generated-headers))
-endif
+headers: $(addprefix $(objpfx),\
+ $(sed-generated-headers) $(awk-generated-headers))
$(addprefix $(inst_gconvdir)/, $(modules.so)): \
$(inst_gconvdir)/%: $(objpfx)% $(+force)
diff --git a/iconvdata/gap.awk b/iconvdata/gap.awk
new file mode 100644
index 0000000000..583d22bed9
--- /dev/null
+++ b/iconvdata/gap.awk
@@ -0,0 +1,39 @@
+BEGIN { hv["0"] = 0; hv["1"] = 1; hv["2"] = 2; hv["3"] = 3;
+ hv["4"] = 4; hv["5"] = 5; hv["6"] = 6; hv["7"] = 7;
+ hv["8"] = 8; hv["9"] = 9; hv["A"] = 10; hv["B"] = 11;
+ hv["C"] = 12; hv["D"] = 13; hv["E"] = 14; hv["F"] = 15;
+ hv["a"] = 10; hv["b"] = 11; hv["c"] = 12; hv["d"] = 13;
+ hv["e"] = 14; hv["f"] = 15;
+
+ first = 0; last = 0; idx = 0;
+}
+
+function tonum(str)
+{
+ num=0;
+ cnt=1;
+ while (cnt <= length(str)) {
+ num *= 16;
+ num += hv[substr(str,cnt,1)];
+ ++cnt;
+ }
+ return num;
+}
+
+{
+ u = tonum($1);
+ if (u - last > 6)
+ {
+ if (last)
+ {
+ printf (" { start: 0x%04x, end: 0x%04x, idx: %5d },\n",
+ first, last, idx);
+ idx -= u - last - 1;
+ }
+ first = u;
+ }
+ last = u;
+}
+
+END { printf (" { start: 0x%04x, end: 0x%04x, idx: %5d },\n",
+ first, last, idx); }
diff --git a/iconvdata/gap.pl b/iconvdata/gap.pl
deleted file mode 100644
index 2a06adc36c..0000000000
--- a/iconvdata/gap.pl
+++ /dev/null
@@ -1,16 +0,0 @@
-$first=$last=$idx=0;
-while (<>) {
- local($ucs,$rest) = split;
- local($u)=hex($ucs);
- if ($u - $last > 6) {
- if ($last != 0) {
- printf (" { start: 0x%04x, end: 0x%04x, idx: %5d },\n",
- $first, $last, $idx);
- $idx -= $u - $last - 1;
- }
- $first=$u;
- }
- $last=$u;
-}
-printf (" { start: 0x%04x, end: 0x%04x, idx: %5d },\n",
- $first, $last, $idx);
diff --git a/iconvdata/gaptab.awk b/iconvdata/gaptab.awk
new file mode 100644
index 0000000000..f9d1526361
--- /dev/null
+++ b/iconvdata/gaptab.awk
@@ -0,0 +1,48 @@
+BEGIN { hv["0"] = 0; hv["1"] = 1; hv["2"] = 2; hv["3"] = 3;
+ hv["4"] = 4; hv["5"] = 5; hv["6"] = 6; hv["7"] = 7;
+ hv["8"] = 8; hv["9"] = 9; hv["A"] = 10; hv["B"] = 11;
+ hv["C"] = 12; hv["D"] = 13; hv["E"] = 14; hv["F"] = 15;
+ hv["a"] = 10; hv["b"] = 11; hv["c"] = 12; hv["d"] = 13;
+ hv["e"] = 14; hv["f"] = 15;
+
+ first = 0; last = 0; idx = 0; f = 0;
+}
+
+function tonum(str)
+{
+ num=0;
+ cnt=1;
+ while (cnt <= length(str)) {
+ num *= 16;
+ num += hv[substr(str,cnt,1)];
+ ++cnt;
+ }
+ return num;
+}
+
+function fmt(val)
+{
+ if (f++ % 8 == 0)
+ { printf ("\n '\\x%02x',", val); }
+ else
+ { printf (" '\\x%02x',", val); }
+}
+
+{
+ u = tonum($1); c = tonum($2);
+
+ if (u - last > 6)
+ {
+ if (last) { idx += last - first + 1; }
+ first = u;
+ }
+ else
+ {
+ for (m = last+1; m < u; m++) { fmt(0); }
+ }
+
+ fmt(c);
+ last = u;
+}
+
+END { print "" }
diff --git a/iconvdata/gaptab.pl b/iconvdata/gaptab.pl
deleted file mode 100644
index 77df1c3aea..0000000000
--- a/iconvdata/gaptab.pl
+++ /dev/null
@@ -1,25 +0,0 @@
-$first=$last=$idx=0;
-sub fmt {
- printf ("\n ") if (($n % 8) == 0);
- ++$n;
- my($val) = pop(@_);
- printf (" '\\x%02x',", $val);
-}
-while (<>) {
- local($ucs,$char,$rest) = split;
- local($u)=hex($ucs);
- local($c)=hex($char);
- if ($u - $last > 6) {
- if ($last != 0) {
- $idx += $last - $first + 1;
- }
- $first=$u;
- } else {
- for ($m = $last + 1; $m < $u; ++$m) {
- fmt (0);
- }
- }
- fmt ($c);
- $last=$u;
-}
-printf ("\n");
diff --git a/iconvdata/gen-8bit-gap-1.sh b/iconvdata/gen-8bit-gap-1.sh
index febf2ead5f..5e949e7a2e 100644
--- a/iconvdata/gen-8bit-gap-1.sh
+++ b/iconvdata/gen-8bit-gap-1.sh
@@ -1,18 +1,15 @@
#! /bin/sh
echo "static const uint32_t iso88597_to_ucs4[96] = {"
-sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' \
+sed -ne '/^[^[:space:]]*[[:space:]]*.x00/d' \
-e 's/^[^[:space:]]*[[:space:]]*.x\([A-F].\)[[:space:]]*<U\(....\)>.*/ [0x\1 - 0xA0] = 0x\2,/p' \
- -e d "$@" | \
-sort -u
+ "$@" | sort -u
echo "};"
echo "static const struct gap from_idx[] = {"
-sed -e 's/^[^[:space:]]*[[:space:]]*.x\([A-F].\)[[:space:]]*<U\(....\)>.*/0x\2 0x\1/p' \
- -e d "$@" | \
-sort -u | $PERL gap.pl
+sed -ne 's/^[^[:space:]]*[[:space:]]*.x\([A-F].\)[[:space:]]*<U\(....\)>.*/\2/p' \
+ "$@" | sort -u | $AWK -f gap.awk
echo " { start: 0xffff, end: 0xffff, idx: 0 }"
echo "};"
echo "static const char iso88597_from_ucs4[] = {"
-sed -e 's/^[^[:space:]]*[[:space:]]*.x\([A-F].\)[[:space:]]*<U\(....\)>.*/0x\2 0x\1/p' \
- -e d "$@" | \
-sort -u | $PERL gaptab.pl
+sed -ne 's/^[^[:space:]]*[[:space:]]*.x\([A-F].\)[[:space:]]*<U\(....\)>.*/0x\2 0x\1/p' \
+ "$@" | sort -u | $AWK -f gaptab.awk
echo "};"
diff --git a/iconvdata/gen-8bit-gap.sh b/iconvdata/gen-8bit-gap.sh
index fd05a6b935..7c11832710 100644
--- a/iconvdata/gen-8bit-gap.sh
+++ b/iconvdata/gen-8bit-gap.sh
@@ -1,18 +1,15 @@
#! /bin/sh
echo "static const uint32_t to_ucs4[256] = {"
-sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' \
+sed -ne '/^[^[:space:]]*[[:space:]]*.x00/d' \
-e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/ [0x\1] = 0x\2,/p' \
- -e d "$@" | \
-sort -u
+ "$@" | sort -u
echo "};"
echo "static const struct gap from_idx[] = {"
-sed -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/0x\2 0x\1/p' \
- -e d "$@" | \
-sort -u | $PERL gap.pl
+sed -ne 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/\2/p' \
+ "$@" | sort -u | $AWK -f gap.awk
echo " { start: 0xffff, end: 0xffff, idx: 0 }"
echo "};"
echo "static const char from_ucs4[] = {"
-sed -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/0x\2 0x\1/p' \
- -e d "$@" | \
-sort -u | $PERL gaptab.pl
+sed -ne 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/\2 \1/p' \
+ "$@" | sort -u | $AWK -f gaptab.awk
echo "};"
diff --git a/iconvdata/gen-8bit.sh b/iconvdata/gen-8bit.sh
index efa44ea969..de6605f7fc 100644
--- a/iconvdata/gen-8bit.sh
+++ b/iconvdata/gen-8bit.sh
@@ -1,13 +1,11 @@
#! /bin/sh
echo "static const uint32_t to_ucs4[256] = {"
-sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' \
+sed -ne '/^[^[:space:]]*[[:space:]]*.x00/d' \
-e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/ [0x\1] = 0x\2,/p' \
- -e d "$@" | \
-sort -u
+ "$@" | sort -u
echo "};"
echo "static const char from_ucs4[] = {"
-sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' \
+sed -ne '/^[^[:space:]]*[[:space:]]*.x00/d' \
-e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/ [0x\2] = 0x\1,/p' \
- -e d "$@" | \
-sort -u
+ "$@" | sort -u
echo "};"
diff --git a/iconvdata/ksc5601.h b/iconvdata/ksc5601.h
index 0b10dcd6b3..e67d91199e 100644
--- a/iconvdata/ksc5601.h
+++ b/iconvdata/ksc5601.h
@@ -85,13 +85,12 @@ static inline size_t
ucs4_to_ksc5601_hangul (uint32_t wch, unsigned char *s, size_t avail)
{
int l = 0;
- int m;
int u = KSC5601_HANGUL - 1;
uint32_t try;
while (l <= u)
{
- m = (l + u) / 2;
+ int m = (l + u) / 2;
try = (uint32_t) __ksc5601_hangul_to_ucs[m];
if (try > wch)
u = m - 1;
@@ -109,7 +108,7 @@ ucs4_to_ksc5601_hangul (uint32_t wch, unsigned char *s, size_t avail)
}
}
- return UNKNOWN_10646_CHAR;
+ return UNKNOWN_10646_CHAR;
}
@@ -117,13 +116,12 @@ static inline size_t
ucs4_to_ksc5601_hanja (uint32_t wch, unsigned char *s, size_t avail)
{
int l = 0;
- int m;
int u = KSC5601_HANJA - 1;
uint32_t try;
while (l <= u)
{
- m = (l + u) / 2;
+ int m = (l + u) / 2;
try = (uint32_t) __ksc5601_hanja_from_ucs[m].ucs;
if (try > wch)
u=m-1;
@@ -148,13 +146,12 @@ static inline size_t
ucs4_to_ksc5601_sym (uint32_t wch, unsigned char *s, size_t avail)
{
int l = 0;
- int m;
int u = KSC5601_SYMBOL - 1;
uint32_t try;
while (l <= u)
{
- m = (l + u) / 2;
+ int m = (l + u) / 2;
try = __ksc5601_sym_from_ucs[m].ucs;
if (try > wch)
u = m - 1;
diff --git a/manual/argp.texi b/manual/argp.texi
index ab16fe3266..4847468bda 100644
--- a/manual/argp.texi
+++ b/manual/argp.texi
@@ -60,7 +60,7 @@ call to @code{argp_parse} is the only argument-parsing code needed in
@comment argp.h
@comment GNU
@deftypefun {error_t} argp_parse (const struct argp *@var{argp}, int @var{argc}, char **@var{argv}, unsigned @var{flags}, int *@var{arg_index}, void *@var{input})
-The @code{argp_parse} function parses the arguments in in @var{argv}, of
+The @code{argp_parse} function parses the arguments in @var{argv}, of
length @var{argc}, using the argp parser @var{argp} (@pxref{Argp
Parsers}); a value of zero is the same as a @code{struct argp}
containing all zeros. @var{flags} is a set of flag bits that modify the
@@ -203,7 +203,7 @@ messages. @xref{Argp Help Filtering}.
The @code{options}, @code{parser}, @code{args_doc}, and @code{doc}
fields are usually all that are needed. If an argp parser is defined as
-an initialized C variable, only the used fields need be specified in in
+an initialized C variable, only the used fields need be specified in
the initializer---the rest will default to zero due to the way C
structure initialization works (this fact is exploited for most argp
structures, grouping the most-used fields near the beginning, so that
@@ -845,7 +845,7 @@ Turns off any message-printing/exiting options, specifically
@need 2000
@subsection Customizing Argp Help Output
-The @code{help_filter} field in a a @code{struct argp} is a pointer to a
+The @code{help_filter} field in a @code{struct argp} is a pointer to a
function to filter the text of help messages before displaying them.
They have a function signature like:
diff --git a/manual/arith.texi b/manual/arith.texi
index 57b3ac9329..8822a8ce9d 100644
--- a/manual/arith.texi
+++ b/manual/arith.texi
@@ -1339,7 +1339,7 @@ library also provides these functions together with some useful
extensions in the same sense.
Generally, you should avoid using these functions unless the really fit
-into the problem you have to to solve. Otherwise it is almost always
+into the problem you have to solve. Otherwise it is almost always
better to use @code{sprintf} since its greater availability (it is an
@w{ISO C} function).
diff --git a/manual/llio.texi b/manual/llio.texi
index e0b16716ab..6387eecbe0 100644
--- a/manual/llio.texi
+++ b/manual/llio.texi
@@ -142,7 +142,7 @@ or @code{O_CREAT} is set and the file does not already exist.
If on a 32 bits machine the sources are translated with
@code{_FILE_OFFSET_BITS == 64} the function @code{open} returns a file
descriptor opened in the large file mode which enables the file handling
-functions to use files up to @math{2^63} in size and offset from
+functions to use files up to @math{2^63} bytes in size and offset from
@math{-2^63} to @math{2^63}. This happens transparently for the user
since all of the lowlevel file handling functions are equally replaced.
@@ -266,7 +266,7 @@ on their meaning.
Please note that there is @emph{no} separate @code{close64} function.
This is not necessary since this function does not determine nor depend
-on the more of the file. The kernel which performs the @code{close}
+on the mode of the file. The kernel which performs the @code{close}
operation knows for which mode the descriptor is used and can handle
this situation.
@end deftypefun
@@ -1402,7 +1402,7 @@ These functions are part of the library with realtime functions named