23 #if defined (HAVE_UNISTD_H) 25 # include <sys/types.h> 32 #include "../bashtypes.h" 33 #include "posixstat.h" 38 #if defined (PREFER_STDARG) 44 #include "../bashansi.h" 45 #include "../bashintl.h" 47 #define NEED_FPURGE_DECL 52 #include "../parser.h" 54 #include "../builtins.h" 56 #include "../execute_cmd.h" 64 # include "../bashhist.h" 93 fprintf (stderr,
"%s: ", name);
103 #if defined (PREFER_STDARG) 117 vfprintf (stderr, format, args);
119 fprintf (stderr,
"\n");
123 #if defined (PREFER_STDARG) 134 fprintf (stderr,
_(
"warning: "));
138 vfprintf (stderr, format, args);
140 fprintf (stderr,
"\n");
239 if (*s ==
'0' && isdigit ((
unsigned char)s[1]))
240 msg =
_(
"invalid octal number");
241 else if (*s ==
'0' && s[1] ==
'x')
242 msg =
_(
"invalid hex number");
244 msg =
_(
"invalid number");
274 builtin_error (
_(
"%s: %s out of range"), s, desc ? desc :
_(
"argument"));
279 #if defined (JOB_CONTROL) 298 #if defined (RESTRICTED_SHELL) 320 #if defined (DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS) && defined (EPIPE) 384 for (i = 1; i < 10; i++)
402 if (destructive || list)
536 while (*
string &&
ISOCTAL (*
string))
539 result = (result * 8) + (*
string++ -
'0');
544 if (digits == 0 || *
string)
572 #if defined (GETCWD_BROKEN) 579 fprintf (stderr,
_(
"%s: error retrieving current directory: %s: %s\n"),
604 #if defined (JOB_CONTROL) 610 register int i, wl, cl, match,
job;
653 while (p != j->
pipe);
701 return get_job_by_name (word, jflags);
714 register int i, column;
716 int result, signum, dflags;
722 for (i = 1, column = 0; i <
NSIG; i++)
725 if (
STREQN (name,
"SIGJUNK", 7) ||
STREQN (name,
"Unknown", 7))
732 if (
STREQN (name,
"SIG", 3))
734 printf (
"%s%s", name, (i == NSIG - 1) ?
"" :
" ");
738 printf (
"%2d) %s", i, name);
764 if (lsignum < 0 || lsignum >=
NSIG)
774 if (
STREQN (name,
"SIGJUNK", 7) ||
STREQN (name,
"Unknown", 7))
781 printf (
"%s\n", (
this_shell_builtin == kill_builtin && signum > 0) ? name + 3 : name);
796 printf (
"%d\n", signum);
880 (sh_builtin_func_t *)
NULL);
889 if ((result = sbp1->
name[0] - sbp2->
name[0]) == 0)
890 result = strcmp (sbp1->
name, sbp2->
name);
904 #if !defined (HELP_BUILTIN) void sh_invalidopt(char *s)
#define get_job_by_jid(ind)
void sh_neednumarg(char *s)
sh_builtin_func_t * function
void sh_invalidid(char *s)
char * strcasestr(char *s1, const char *s2) const
static int changed_dollar_vars
int no_options(WORD_LIST *list)
sh_builtin_func_t * find_special_builtin(char *name)
void sh_invalidsig(char *s)
WORD_LIST * copy_word_list(WORD_LIST *list)
void no_args(WORD_LIST *list)
void throw_to_top_level()
static void builtin_error_prolog()
int executing_line_number()
static nls_uint32 nls_uint32 i
void set_dollar_vars_unchanged()
void jump_to_top_level(int value)
void set_dollar_vars_changed()
void builtin_error(char *format, va_alist) const
void sh_notbuiltin(char *s)
void builtin_warning(char *format, va_alist) const
int decode_signal(char *string, int flags)
int read_octal(char *string)
char * savestring(const char *s)
int dollar_vars_changed()
void sh_ttyerror(int set)
#define EXECUTION_SUCCESS
void sh_invalidnum(char *s)
void dispose_words(WORD_LIST *list)
int trap_saved_exit_value
int get_exitstat(WORD_LIST *list)
struct builtin * shell_builtins
void reset_internal_getopt()
char * getcwd(char *buf, size_t size)
char * get_working_directory(char *for_whom)
int get_numeric_arg(WORD_LIST *list, int fatal, intmax_t *count)
void internal_error(char *format, va_alist) const
char * get_name_for_error()
sh_builtin_func_t * this_shell_builtin
#define SH_VA_START(va, arg)
#define EXECUTION_FAILURE
sh_builtin_func_t * last_shell_builtin
int internal_getopt(WORD_LIST *list, char *opts)
void set_working_directory(char *name)
struct builtin * builtin_address_internal(char *name, int disabled_okay)
static int shell_builtin_compare(struct builtin *sbp1, struct builtin *sbp2)
sh_builtin_func_t * find_shell_builtin(char *name)
void invalidate_cached_quoted_dollar_at()
char ** make_builtin_argv(WORD_LIST *list, int *ip)
int display_signal_list(WORD_LIST *list, int forcecols)
int last_command_exit_value
const char *const bash_getcwd_errstr
sh_builtin_func_t * builtin_address(char *name)
void sh_readonly(char *s) const
void sh_notfound(char *s)
void remember_args(WORD_LIST *list, int destructive)
struct builtin * current_builtin
char * signal_name(int sig)
void sh_erange(char *s, char *desc)
void initialize_shell_builtins()
char ** strvec_from_word_list(WORD_LIST *list, int alloc, int starting_index, int *ip)
void sh_invalidoptname(char *s)
int legal_number(char *string, intmax_t *result) const
char * the_current_working_directory
int all_digits(char *string) const