🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by Chip Salzenberg Mon, 22 Jan 1990 18:47
Bash 1.04 patch: long strings
#857
Author: Chip Salzenberg
Date: Mon, 22 Jan 1990 18:47
209 lines
8633 bytes
Many compilers cannot handle very long strings.  These patches reduce the
length of help strings by breaking them up into several strings.

Index: builtins.h
***************
*** 35,39 ****
    int enabled;
    char *short_doc;
!   char *long_doc;
  };
  
--- 35,39 ----
    int enabled;
    char *short_doc;
!   char *long_doc[8];
  };
  

Index: builtins.c
***************
*** 273,277 ****
  	    the function is executed)\n\
  	-k  All keyword arguments are placed in the environment for a\n\
! 	    comand, not just those that precede the command name\n\
  	-n  Read commands but do not execute them\n\
  	-t  Exit after reading and executing one command\n\
--- 273,277 ----
  	    the function is executed)\n\
  	-k  All keyword arguments are placed in the environment for a\n\
! 	    comand, not just those that precede the command name\n", "\
  	-n  Read commands but do not execute them\n\
  	-t  Exit after reading and executing one command\n\
***************
*** 279,283 ****
  	-v  Print shell input lines as they are read\n\
  	-x  Print commands and their arguments as they are executed\n\
! 	-l  Save and restore the binding of the NAME in a FOR command.\n\
  	-d  Disable the hashing of commands that are looked up for execution.\n\
  	    Normally, commands are remembered in a hash table, and once\n\
--- 279,283 ----
  	-v  Print shell input lines as they are read\n\
  	-x  Print commands and their arguments as they are executed\n\
! 	-l  Save and restore the binding of the NAME in a FOR command.\n", "\
  	-d  Disable the hashing of commands that are looked up for execution.\n\
  	    Normally, commands are remembered in a hash table, and once\n\
***************
*** 284,288 ****
  	    found, do not have to be looked up again\n\
  	-o  Enable ! style history substitution.  This flag is on by\n\
! 	    by default.\n\
  \n\
  	Using + rather than - causes these flags to be turned off.  The\n\
--- 284,288 ----
  	    found, do not have to be looked up again\n\
  	-o  Enable ! style history substitution.  This flag is on by\n\
! 	    by default.\n", "\
  \n\
  	Using + rather than - causes these flags to be turned off.  The\n\
***************
*** 290,294 ****
  	set of flags may be found in $-.  The remaining ARGs are positional\n\
  	parameters and are assigned, in order, to $1, $2, ... $9.  If no\n\
! 	ARGs are given, all shell variables are printed" },
  
    { "shift", shift_builtin, 1, "shift [n]",
--- 290,295 ----
  	set of flags may be found in $-.  The remaining ARGs are positional\n\
  	parameters and are assigned, in order, to $1, $2, ... $9.  If no\n\
! 	ARGs are given, all shell variables are printed"
! },
  
    { "shift", shift_builtin, 1, "shift [n]",
***************
*** 316,320 ****
  \n\
  	File operators:\n\
! \n\
  	-b FILE		True if file is block special.\n\
  	-c FILE		True if file is character special.\n\
--- 317,321 ----
  \n\
  	File operators:\n\
! \n", "\
  	-b FILE		True if file is block special.\n\
  	-c FILE		True if file is character special.\n\
***************
*** 324,328 ****
  	-g FILE		True if file is set-group-id.\n\
  	-L FILE		True if file is a symbolic link.\n\
! 	-k FILE		True if file has its \"sticky\" bit set.\n\
  	-p FILE		True if file is a named pipe.\n\
  	-r FILE		True if file is readable by you.\n\
--- 325,329 ----
  	-g FILE		True if file is set-group-id.\n\
  	-L FILE		True if file is a symbolic link.\n\
! 	-k FILE		True if file has its \"sticky\" bit set.\n", "\
  	-p FILE		True if file is a named pipe.\n\
  	-r FILE		True if file is readable by you.\n\
***************
*** 329,333 ****
  	-s FILE		True if file is not empty.\n\
  	-S FILE		True if file is a socket.\n\
! 	-t [FD]		True if FD is opened on a terminal.  If FD\n\
  			is omitted, it defaults to 1 (stdout).\n\
  	-u FILE		True if the file is set-user-id.\n\
--- 330,334 ----
  	-s FILE		True if file is not empty.\n\
  	-S FILE		True if file is a socket.\n\
! 	-t [FD]		True if FD is opened on a terminal.  If FD\n", "\
  			is omitted, it defaults to 1 (stdout).\n\
  	-u FILE		True if the file is set-user-id.\n\
***************
*** 335,339 ****
  	-x FILE		True if the file is executable by you.\n\
  	-O FILE		True if the file is effectively owned by you.\n\
! \n\
  	FILE1 -nt FILE2	True if file1 is newer than (according to\n\
  			modification date) file2.\n\
--- 336,340 ----
  	-x FILE		True if the file is executable by you.\n\
  	-O FILE		True if the file is effectively owned by you.\n\
! \n", "\
  	FILE1 -nt FILE2	True if file1 is newer than (according to\n\
  			modification date) file2.\n\
***************
*** 351,355 ****
  	STRING1 != STRING2\n\
  			True if the strings are not equal.\n\
! \n\
  	Other operators:\n\
  \n\
--- 352,356 ----
  	STRING1 != STRING2\n\
  			True if the strings are not equal.\n\
! \n", "\
  	Other operators:\n\
  \n\
***************
*** 374,378 ****
  	signal is ignored by the shell and by the commands it invokes.  If\n\
  	SIGNAL_SPEC is ON_EXIT (0) the command ARG is executed on exit from\n\
! 	the shell.  The trap command with no arguments prints the list of\n\
  	commands associated with each signal number.  SIGNAL_SPEC is either\n\
  	a signal name in <signal.h>, or a signal number.  The syntax `trap -l'\n\
--- 375,379 ----
  	signal is ignored by the shell and by the commands it invokes.  If\n\
  	SIGNAL_SPEC is ON_EXIT (0) the command ARG is executed on exit from\n\
! 	the shell.  The trap command with no arguments prints the list of\n", "\
  	commands associated with each signal number.  SIGNAL_SPEC is either\n\
  	a signal name in <signal.h>, or a signal number.  The syntax `trap -l'\n\
***************
*** 388,392 ****
  	alias, shell function, shell builtin, disk file, or unfound,\n\
  	respectively.\n\
! \n\
  	If the -path flag is used, either returns the name of the disk file\n\
  	that would be exec'ed, or nothing if -type wouldn't return `file'\n\
--- 389,393 ----
  	alias, shell function, shell builtin, disk file, or unfound,\n\
  	respectively.\n\
! \n", "\
  	If the -path flag is used, either returns the name of the disk file\n\
  	that would be exec'ed, or nothing if -type wouldn't return `file'\n\
***************
*** 403,407 ****
          started by the shell, on systems that allow such control.  If an\n\
          option is given, it is interpreted as follows:\n\
! \n\
                  -c      the maximum size of core files created\n\
                  -d      the maximum size of a process's data segment\n\
--- 404,408 ----
          started by the shell, on systems that allow such control.  If an\n\
          option is given, it is interpreted as follows:\n\
! \n", "\
                  -c      the maximum size of core files created\n\
                  -d      the maximum size of a process's data segment\n\
***************
*** 410,414 ****
                  -t      the maximum amount of cpu time in seconds\n\
                  -f      the maximum size of files created by the shell\n\
! \n\
          If LIMIT is given, it is the new value of the specified resource.\n\
  	Otherwise, the current value of the specified resource is printed.\n\
--- 411,415 ----
                  -t      the maximum amount of cpu time in seconds\n\
                  -f      the maximum size of files created by the shell\n\
! \n", "\
          If LIMIT is given, it is the new value of the specified resource.\n\
  	Otherwise, the current value of the specified resource is printed.\n\
***************
*** 590,596 ****
  		  strnicmp (pattern, shell_builtins[i].name, plen) == 0)
  		{
! 		  printf ("%s: %s\n%s.\n",
! 			  shell_builtins[i].name, shell_builtins[i].short_doc,
! 			  shell_builtins[i].long_doc);
  		  match_found++;
  		}
--- 591,600 ----
  		  strnicmp (pattern, shell_builtins[i].name, plen) == 0)
  		{
! 		  register char **d;
! 		  printf ("%s: %s\n",
! 			  shell_builtins[i].name, shell_builtins[i].short_doc);
! 		  for (d = shell_builtins[i].long_doc; *d; ++d)
! 		    printf ("%s", *d);
! 		  printf (".\n");
  		  match_found++;
  		}
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads