summaryrefslogtreecommitdiff
path: root/sh-i18n--envsubst.c
diff options
context:
space:
mode:
Diffstat (limited to 'sh-i18n--envsubst.c')
-rw-r--r--sh-i18n--envsubst.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sh-i18n--envsubst.c b/sh-i18n--envsubst.c
index 09c6b445b9..6cd307ac2c 100644
--- a/sh-i18n--envsubst.c
+++ b/sh-i18n--envsubst.c
@@ -14,6 +14,7 @@
*/
#include "git-compat-util.h"
+#include "trace2.h"
/* Substitution of environment variables in shell format strings.
Copyright (C) 2003-2007 Free Software Foundation, Inc.
@@ -67,6 +68,8 @@ cmd_main (int argc, const char *argv[])
/* Default values for command line options. */
/* unsigned short int show_variables = 0; */
+ trace2_cmd_name("sh-i18n--envsubst");
+
switch (argc)
{
case 1:
@@ -101,12 +104,12 @@ cmd_main (int argc, const char *argv[])
if (ferror (stderr) || fflush (stderr))
{
fclose (stderr);
- exit (EXIT_FAILURE);
+ return (EXIT_FAILURE);
}
if (fclose (stderr) && errno != EBADF)
- exit (EXIT_FAILURE);
+ return (EXIT_FAILURE);
- exit (EXIT_SUCCESS);
+ return (EXIT_SUCCESS);
}
/* Parse the string and invoke the callback each time a $VARIABLE or
@@ -246,7 +249,7 @@ sorted_string_list_member (const string_list_ty *slp, const char *s)
{
/* Here we know that if s is in the list, it is at an index j
with j1 <= j < j2. */
- size_t j = (j1 + j2) >> 1;
+ size_t j = j1 + ((j2 - j1) >> 1);
int result = strcmp (slp->item[j], s);
if (result > 0)