components/ksh93/patches/015-solaris_alias.patch
changeset 5129 5431772f7235
parent 4305 90493abe0c5c
equal deleted inserted replaced
5128:218234c0062c 5129:5431772f7235
       
     1 # This patch has been developed inhouse and has not been submitted
       
     2 # to the community. This is a Solaris specific patch which is needed
       
     3 # to implement the /usr/bin/alias Solaris functionality.
     1 diff -rupN b/lib/package/ast-base.pkg a/lib/package/ast-base.pkg
     4 diff -rupN b/lib/package/ast-base.pkg a/lib/package/ast-base.pkg
     2 --- b/lib/package/ast-base.pkg	2009-09-21 20:35:51.000000000 +0000
     5 --- b/lib/package/ast-base.pkg	2009-09-21 20:35:51.000000000 +0000
     3 +++ a/lib/package/ast-base.pkg	2011-11-10 16:24:52.515495613 +0000
     6 +++ a/lib/package/ast-base.pkg	2011-11-10 16:24:52.515495613 +0000
     4 @@ -3,7 +3,7 @@ ast-base :PACKAGE: \
     7 @@ -3,7 +3,7 @@ ast-base :PACKAGE: \
     5  		libdll libexpr libodelta librecsort libsum libuu libvdelta \
     8  		libdll libexpr libodelta librecsort libsum libuu libvdelta \
     6  		libbz libz tests 3d coshell cpp cs mam msgcc nmake probe ss \
     9  		libbz libz tests 3d coshell cpp cs mam msgcc nmake probe ss \
     7  		libcoshell libcs libmam libpp libcodex paxlib codexlib \
    10  		libcoshell libcs libmam libpp libcodex paxlib codexlib \
     8 -		libdss libpz dsslib
    11 -		libdss libpz dsslib libtaso
     9 +		libdss libpz dsslib alias
    12 +		libdss libpz dsslib libtaso alias
    10  
    13  
    11  :COVERS: ast-make ast-ksh ast-ast
    14  :COVERS: ast-make ast-ksh ast-ast
    12  
    15  
    13 diff -rupN b/src/cmd/alias/alias.c a/src/cmd/alias/alias.c
    16 diff -rupN b/src/cmd/alias/alias.c a/src/cmd/alias/alias.c
    14 --- b/src/cmd/alias/alias.c	1970-01-01 00:00:00.000000000 +0000
    17 --- b/src/cmd/alias/alias.c	1970-01-01 00:00:00.000000000 +0000
    15 +++ a/src/cmd/alias/alias.c	2011-11-10 16:24:28.356925339 +0000
    18 +++ a/src/cmd/alias/alias.c	2011-11-10 16:24:28.356925339 +0000
    16 @@ -0,0 +1,255 @@
    19 @@ -0,0 +1,256 @@
    17 +/*
    20 +/*
    18 + * CDDL HEADER START
    21 + * CDDL HEADER START
    19 + *
    22 + *
    20 + * The contents of this file are subject to the terms of the
    23 + * The contents of this file are subject to the terms of the
    21 + * Common Development and Distribution License (the "License").
    24 + * Common Development and Distribution License (the "License").
    34 + *
    37 + *
    35 + * CDDL HEADER END
    38 + * CDDL HEADER END
    36 + */
    39 + */
    37 +
    40 +
    38 +/*
    41 +/*
    39 + * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
    42 + * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
    40 + */
    43 + */
    41 +
    44 +
    42 +/*
    45 +/*
    43 + * alias.c is a C version of the alias.sh wrapper (which links ksh
    46 + * alias.c is a C version of the alias.sh wrapper (which links ksh
    44 + * builtins to commands in /usr/bin/, e.g. calling this wrapper as
    47 + * builtins to commands in /usr/bin/, e.g. calling this wrapper as
    51 +#include <stdio.h>
    54 +#include <stdio.h>
    52 +#include <alias.h>
    55 +#include <alias.h>
    53 +
    56 +
    54 +typedef struct {
    57 +typedef struct {
    55 +	const char *name;
    58 +	const char *name;
    56 +	int (* func)(int, char **, void *);
    59 +	int (* func)(int, char **, Shbltin_t *);
    57 +} bfastpathrec;
    60 +} bfastpathrec;
    58 +
    61 +
    59 +/*
    62 +/*
    60 + * We've disabled the "fastpath" codepath for some commands below
    63 + * We've disabled the "fastpath" codepath for some commands below
    61 + * because it causes a paradoxon for large input files (as used by
    64 + * because it causes a paradoxon for large input files (as used by
   126 +	{ "tail",	b_tail		},
   129 +	{ "tail",	b_tail		},
   127 +	{ "tee",	b_tee		},
   130 +	{ "tee",	b_tee		},
   128 +	{ "tty",	b_tty		},
   131 +	{ "tty",	b_tty		},
   129 +	{ "uname",	b_uname		},
   132 +	{ "uname",	b_uname		},
   130 +	{ "uniq",	b_uniq		},
   133 +	{ "uniq",	b_uniq		},
       
   134 +	{ "vmstate",	b_vmstate		},
   131 +	{ "wc",		b_wc		},
   135 +	{ "wc",		b_wc		},
   132 +	{ NULL, 	(int (*)(int, char **, void *))NULL }
   136 +	{ NULL, 	(int (*)(int, char **, Shbltin_t *))NULL }
   133 +};
   137 +};
   134 +
   138 +
   135 +static inline
   139 +static inline
   136 +const bfastpathrec *
   140 +const bfastpathrec *
   137 +find_bfastpathrec(const char *name)
   141 +find_bfastpathrec(const char *name)
   270 +	}
   274 +	}
   271 +}
   275 +}
   272 diff -rupN b/src/cmd/alias/alias.h a/src/cmd/alias/alias.h
   276 diff -rupN b/src/cmd/alias/alias.h a/src/cmd/alias/alias.h
   273 --- b/src/cmd/alias/alias.h	1970-01-01 00:00:00.000000000 +0000
   277 --- b/src/cmd/alias/alias.h	1970-01-01 00:00:00.000000000 +0000
   274 +++ a/src/cmd/alias/alias.h	2011-11-10 16:24:28.357387725 +0000
   278 +++ a/src/cmd/alias/alias.h	2011-11-10 16:24:28.357387725 +0000
   275 @@ -0,0 +1,79 @@
   279 @@ -0,0 +1,67 @@
   276 +/***********************************************************************
   280 +/***********************************************************************
   277 +*                                                                      *
   281 +*                                                                      *
   278 +*               This software is part of the ast package               *
   282 +*               This software is part of the ast package               *
   279 +*          Copyright (c) 1992-2011 AT&T Intellectual Property          *
   283 +*          Copyright (c) 1982-2012 AT&T Intellectual Property          *
   280 +*                      and is licensed under the                       *
   284 +*                      and is licensed under the                       *
   281 +*                  Common Public License, Version 1.0                  *
   285 +*                 Eclipse Public License, Version 1.0                  *
   282 +*                    by AT&T Intellectual Property                     *
   286 +*                    by AT&T Intellectual Property                     *
   283 +*                                                                      *
   287 +*                                                                      *
   284 +*                A copy of the License is available at                 *
   288 +*                A copy of the License is available at                 *
   285 +*            http://www.opensource.org/licenses/cpl1.0.txt             *
   289 +*          http://www.eclipse.org/org/documents/epl-v10.html           *
   286 +*         (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9)         *
   290 +*         (with md5 checksum b35adb5213ca9657e911e9befb180842)         *
   287 +*                                                                      *
   291 +*                                                                      *
   288 +*              Information and Software Systems Research               *
   292 +*              Information and Software Systems Research               *
   289 +*                            AT&T Research                             *
   293 +*                            AT&T Research                             *
   290 +*                           Florham Park NJ                            *
   294 +*                           Florham Park NJ                            *
   291 +*                                                                      *
   295 +*                                                                      *
   292 +*                 Glenn Fowler <[email protected]>                  *
       
   293 +*                  David Korn <[email protected]>                   *
   296 +*                  David Korn <[email protected]>                   *
   294 +*                                                                      *
   297 +*                                                                      *
   295 +***********************************************************************/
   298 +***********************************************************************/
   296 +
   299 +
   297 +extern int b_asa (int, char**, void *);
   300 +#include <shcmd.h>
   298 +extern int b_basename (int, char**, void *);
   301 +
   299 +extern int b_cat (int, char**, void *);
   302 +extern int b_asa (int, char**, Shbltin_t *);
   300 +extern int b_chgrp (int, char**, void *);
   303 +extern int b_basename (int, char**, Shbltin_t *);
   301 +extern int b_chmod (int, char**, void *);
   304 +extern int b_cat (int, char**, Shbltin_t *);
   302 +extern int b_chown (int, char**, void *);
   305 +extern int b_chgrp (int, char**, Shbltin_t *);
   303 +extern int b_cksum (int, char**, void *);
   306 +extern int b_chmod (int, char**, Shbltin_t *);
   304 +extern int b_cmp (int, char**, void *);
   307 +extern int b_chown (int, char**, Shbltin_t *);
   305 +extern int b_comm (int, char**, void *);
   308 +extern int b_cksum (int, char**, Shbltin_t *);
   306 +extern int b_cp (int, char**, void *);
   309 +extern int b_cmp (int, char**, Shbltin_t *);
   307 +extern int b_cut (int, char**, void *);
   310 +extern int b_comm (int, char**, Shbltin_t *);
   308 +extern int b_date (int, char**, void *);
   311 +extern int b_cp (int, char**, Shbltin_t *);
   309 +extern int b_dirname (int, char**, void *);
   312 +extern int b_cut (int, char**, Shbltin_t *);
   310 +extern int b_egrep (int, char**, void *);
   313 +extern int b_date (int, char**, Shbltin_t *);
   311 +extern int b_expr (int, char**, void *);
   314 +extern int b_dirname (int, char**, Shbltin_t *);
   312 +extern int b_fds (int, char**, void *);
   315 +extern int b_egrep (int, char**, Shbltin_t *);
   313 +extern int b_fgrep (int, char**, void *);
   316 +extern int b_expr (int, char**, Shbltin_t *);
   314 +extern int b_find (int, char**, void *);
   317 +extern int b_fds (int, char**, Shbltin_t *);
   315 +extern int b_fmt (int, char**, void *);
   318 +extern int b_fgrep (int, char**, Shbltin_t *);
   316 +extern int b_fold (int, char**, void *);
   319 +extern int b_find (int, char**, Shbltin_t *);
   317 +extern int b_getconf (int, char**, void *);
   320 +extern int b_fmt (int, char**, Shbltin_t *);
   318 +extern int b_grep (int, char**, void *);
   321 +extern int b_fold (int, char**, Shbltin_t *);
   319 +extern int b_head (int, char**, void *);
   322 +extern int b_getconf (int, char**, Shbltin_t *);
   320 +extern int b_id (int, char**, void *);
   323 +extern int b_grep (int, char**, Shbltin_t *);
   321 +extern int b_join (int, char**, void *);
   324 +extern int b_head (int, char**, Shbltin_t *);
   322 +extern int b_line (int, char**, void *);
   325 +extern int b_id (int, char**, Shbltin_t *);
   323 +extern int b_ln (int, char**, void *);
   326 +extern int b_join (int, char**, Shbltin_t *);
   324 +extern int b_logname (int, char**, void *);
   327 +extern int b_line (int, char**, Shbltin_t *);
   325 +extern int b_ls (int, char**, void *);
   328 +extern int b_ln (int, char**, Shbltin_t *);
   326 +extern int b_md5sum (int, char**, void *);
   329 +extern int b_logname (int, char**, Shbltin_t *);
   327 +extern int b_mkdir (int, char**, void *);
   330 +extern int b_ls (int, char**, Shbltin_t *);
   328 +extern int b_mkfifo (int, char**, void *);
   331 +extern int b_md5sum (int, char**, Shbltin_t *);
   329 +extern int b_mktemp (int, char**, void *);
   332 +extern int b_mkdir (int, char**, Shbltin_t *);
   330 +extern int b_mv (int, char**, void *);
   333 +extern int b_mkfifo (int, char**, Shbltin_t *);
   331 +extern int b_paste (int, char**, void *);
   334 +extern int b_mktemp (int, char**, Shbltin_t *);
   332 +extern int b_od (int, char**, void *);
   335 +extern int b_mv (int, char**, Shbltin_t *);
   333 +extern int b_pathchk (int, char**, void *);
   336 +extern int b_paste (int, char**, Shbltin_t *);
   334 +extern int b_pids (int, char**, void *);
   337 +extern int b_od (int, char**, Shbltin_t *);
   335 +extern int b_pr (int, char**, void *);
   338 +extern int b_pathchk (int, char**, Shbltin_t *);
   336 +extern int b_rev (int, char**, void *);
   339 +extern int b_pids (int, char**, Shbltin_t *);
   337 +extern int b_readlink (int, char**, void *);
   340 +extern int b_pr (int, char**, Shbltin_t *);
   338 +extern int b_rm (int, char**, void *);
   341 +extern int b_rev (int, char**, Shbltin_t *);
   339 +extern int b_rmdir (int, char**, void *);
   342 +extern int b_readlink (int, char**, Shbltin_t *);
   340 +extern int b_stty (int, char**, void *);
   343 +extern int b_rm (int, char**, Shbltin_t *);
   341 +extern int b_sum (int, char**, void *);
   344 +extern int b_rmdir (int, char**, Shbltin_t *);
   342 +extern int b_sync (int, char**, void *);
   345 +extern int b_stty (int, char**, Shbltin_t *);
   343 +extern int b_strings (int, char**, void *);
   346 +extern int b_sum (int, char**, Shbltin_t *);
   344 +extern int b_tail (int, char**, void *);
   347 +extern int b_sync (int, char**, Shbltin_t *);
   345 +extern int b_tee (int, char**, void *);
   348 +extern int b_strings (int, char**, Shbltin_t *);
   346 +extern int b_tr (int, char**, void *);
   349 +extern int b_tail (int, char**, Shbltin_t *);
   347 +extern int b_tty (int, char**, void *);
   350 +extern int b_tee (int, char**, Shbltin_t *);
   348 +extern int b_uname (int, char**, void *);
   351 +extern int b_tr (int, char**, Shbltin_t *);
   349 +extern int b_uniq (int, char**, void *);
   352 +extern int b_tty (int, char**, Shbltin_t *);
   350 +extern int b_vmstate (int, char**, void *);
   353 +extern int b_uname (int, char**, Shbltin_t *);
   351 +extern int b_wc (int, char**, void *);
   354 +extern int b_uniq (int, char**, Shbltin_t *);
   352 +extern int b_who (int, char**, void *);
   355 +extern int b_vmstate (int, char**, Shbltin_t *);
   353 +extern int b_xgrep (int, char**, void *);
   356 +extern int b_wc (int, char**, Shbltin_t *);
   354 +extern int b_xargs (int, char**, void *);
   357 +extern int b_who (int, char**, Shbltin_t *);
       
   358 +extern int b_xgrep (int, char**, Shbltin_t *);
       
   359 +extern int b_xargs (int, char**, Shbltin_t *);
   355 diff -rupN b/src/cmd/alias/Makefile a/src/cmd/alias/Makefile
   360 diff -rupN b/src/cmd/alias/Makefile a/src/cmd/alias/Makefile
   356 --- b/src/cmd/alias/Makefile	1970-01-01 00:00:00.000000000 +0000
   361 --- b/src/cmd/alias/Makefile	1970-01-01 00:00:00.000000000 +0000
   357 +++ a/src/cmd/alias/Makefile	2011-11-10 16:24:28.357746164 +0000
   362 +++ a/src/cmd/alias/Makefile	2011-11-10 16:24:28.357746164 +0000
   358 @@ -0,0 +1,5 @@
   363 @@ -0,0 +1,5 @@
   359 +:PACKAGE: ast:static
   364 +:PACKAGE: ast:static