summaryrefslogtreecommitdiff
path: root/alias.c
diff options
context:
space:
mode:
authorJari Aalto <jari.aalto@cante.net>2001-11-13 17:56:06 +0000
committerJari Aalto <jari.aalto@cante.net>2009-09-12 16:46:54 +0000
commitf73dda092b33638d2d5e9c35375f687a607b5403 (patch)
treef21584e70a444d6a1ecba0fb5e2cf79e8cce91db /alias.c
parent28ef6c316f1aff914bb95ac09787a3c83c1815fd (diff)
downloadbash-f73dda092b33638d2d5e9c35375f687a607b5403.tar.gz
Imported from ../bash-2.05a.tar.gz.
Diffstat (limited to 'alias.c')
-rw-r--r--alias.c44
1 files changed, 30 insertions, 14 deletions
diff --git a/alias.c b/alias.c
index 183fe270..8af373b3 100644
--- a/alias.c
+++ b/alias.c
@@ -31,6 +31,7 @@
#endif
#include <stdio.h>
+#include "chartypes.h"
#include "bashansi.h"
#include "command.h"
#include "general.h"
@@ -41,7 +42,18 @@
# include "pcomplete.h"
#endif
-static int qsort_alias_compare ();
+typedef int sh_alias_map_func_t __P((alias_t *));
+
+static void free_alias_data __P((PTR_T));
+static alias_t **map_over_aliases __P((sh_alias_map_func_t *));
+static void sort_aliases __P((alias_t **));
+static int qsort_alias_compare __P((alias_t **, alias_t **));
+
+#if defined (READLINE)
+static int skipquotes __P((char *, int));
+static int skipws __P((char *, int));
+static int rd_token __P((char *, int));
+#endif
/* Non-zero means expand all words on the line. Otherwise, expand
after first expansion if the expansion ends in a space. */
@@ -134,7 +146,7 @@ add_alias (name, value)
/* Delete a single alias structure. */
static void
free_alias_data (data)
- char *data;
+ PTR_T data;
{
register alias_t *a;
@@ -189,7 +201,7 @@ delete_all_aliases ()
If FUNCTION is NULL, return all aliases. */
static alias_t **
map_over_aliases (function)
- Function *function;
+ sh_alias_map_func_t *function;
{
register int i;
register BUCKET_CONTENTS *tlist;
@@ -208,8 +220,11 @@ map_over_aliases (function)
if (!function || (*function) (alias))
{
if (list_index + 1 >= list_size)
- list = (alias_t **)
- xrealloc ((char *)list, (list_size += 20) * sizeof (alias_t *));
+ {
+ list_size += 20;
+ list = (alias_t **)xrealloc (list,
+ list_size * sizeof (alias_t *));
+ }
list[list_index++] = alias;
list[list_index] = (alias_t *)NULL;
@@ -224,7 +239,7 @@ static void
sort_aliases (array)
alias_t **array;
{
- qsort (array, array_len ((char **)array), sizeof (alias_t *), qsort_alias_compare);
+ qsort (array, array_len ((char **)array), sizeof (alias_t *), (QSFUNC *)qsort_alias_compare);
}
static int
@@ -248,7 +263,7 @@ all_aliases ()
if (!aliases)
return ((alias_t **)NULL);
- list = map_over_aliases ((Function *)NULL);
+ list = map_over_aliases ((sh_alias_map_func_t *)NULL);
if (list)
sort_aliases (list);
return (list);
@@ -324,12 +339,13 @@ skipws (string, start)
char *string;
int start;
{
- register int i = 0;
- int pass_next, backslash_quoted_word, peekc;
+ register int i;
+ int pass_next, backslash_quoted_word;
+ unsigned char peekc;
/* skip quoted strings, in ' or ", and words in which a character is quoted
with a `\'. */
- backslash_quoted_word = pass_next = 0;
+ i = backslash_quoted_word = pass_next = 0;
/* Skip leading whitespace (or separator characters), and quoted words.
But save it in the output. */
@@ -351,7 +367,7 @@ skipws (string, start)
if (string[i] == '\\')
{
peekc = string[i+1];
- if (isletter (peekc))
+ if (ISLETTER (peekc))
backslash_quoted_word++; /* this is a backslash-quoted word */
else
pass_next++;
@@ -372,7 +388,7 @@ skipws (string, start)
break;
peekc = string[i + 1];
- if (isletter (peekc))
+ if (ISLETTER (peekc))
backslash_quoted_word++;
continue;
}
@@ -452,8 +468,8 @@ alias_expand (string)
alias_t *alias;
line_len = strlen (string) + 1;
- line = xmalloc (line_len);
- token = xmalloc (line_len);
+ line = (char *)xmalloc (line_len);
+ token = (char *)xmalloc (line_len);
line[0] = i = 0;
expand_next = 0;