diff options
Diffstat (limited to 'amiga.c')
-rw-r--r-- | amiga.c | 91 |
1 files changed, 45 insertions, 46 deletions
@@ -1,6 +1,5 @@ /* Running commands on Amiga -Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +Copyright (C) 1995-2013 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -15,7 +14,7 @@ A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "make.h" +#include "makeint.h" #include "variable.h" #include "amiga.h" #include <assert.h> @@ -25,7 +24,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */ #include <proto/dos.h> static const char Amiga_version[] = "$VER: Make 3.74.3 (12.05.96) \n" - "Amiga Port by A. Digulla (digulla@home.lake.de)"; + "Amiga Port by A. Digulla (digulla@home.lake.de)"; int MyExecute (char **argv) @@ -37,7 +36,7 @@ MyExecute (char **argv) for (aptr=argv; *aptr; aptr++) { - len += strlen (*aptr) + 4; + len += strlen (*aptr) + 4; } buffer = AllocMem (len, MEMF_ANY); @@ -49,41 +48,41 @@ MyExecute (char **argv) for (aptr=argv; *aptr; aptr++) { - if (((*aptr)[0] == ';' && !(*aptr)[1])) - { - *ptr ++ = '"'; - strcpy (ptr, *aptr); - ptr += strlen (ptr); - *ptr ++ = '"'; - } - else if ((*aptr)[0] == '@' && (*aptr)[1] == '@' && !(*aptr)[2]) - { - *ptr ++ = '\n'; - continue; - } - else - { - strcpy (ptr, *aptr); - ptr += strlen (ptr); - } - *ptr ++ = ' '; - *ptr = 0; + if (((*aptr)[0] == ';' && !(*aptr)[1])) + { + *ptr ++ = '"'; + strcpy (ptr, *aptr); + ptr += strlen (ptr); + *ptr ++ = '"'; + } + else if ((*aptr)[0] == '@' && (*aptr)[1] == '@' && !(*aptr)[2]) + { + *ptr ++ = '\n'; + continue; + } + else + { + strcpy (ptr, *aptr); + ptr += strlen (ptr); + } + *ptr ++ = ' '; + *ptr = 0; } ptr[-1] = '\n'; status = SystemTags (buffer, - SYS_UserShell, TRUE, - TAG_END); + SYS_UserShell, TRUE, + TAG_END); FreeMem (buffer, len); - if (SetSignal(0L,0L) & SIGBREAKF_CTRL_C) - status = 20; + if (SetSignal (0L,0L) & SIGBREAKF_CTRL_C) + status = 20; /* Warnings don't count */ if (status == 5) - status = 0; + status = 0; return status; } @@ -91,27 +90,27 @@ MyExecute (char **argv) char * wildcard_expansion (char *wc, char *o) { -# define PATH_SIZE 1024 +# define PATH_SIZE 1024 struct AnchorPath * apath; if ( (apath = AllocMem (sizeof (struct AnchorPath) + PATH_SIZE, - MEMF_CLEAR)) - ) + MEMF_CLEAR)) + ) { - apath->ap_Strlen = PATH_SIZE; - - if (MatchFirst (wc, apath) == 0) - { - do - { - o = variable_buffer_output (o, apath->ap_Buf, - strlen (apath->ap_Buf)); - o = variable_buffer_output (o, " ",1); - } while (MatchNext (apath) == 0); - } - - MatchEnd (apath); - FreeMem (apath, sizeof (struct AnchorPath) + PATH_SIZE); + apath->ap_Strlen = PATH_SIZE; + + if (MatchFirst (wc, apath) == 0) + { + do + { + o = variable_buffer_output (o, apath->ap_Buf, + strlen (apath->ap_Buf)); + o = variable_buffer_output (o, " ",1); + } while (MatchNext (apath) == 0); + } + + MatchEnd (apath); + FreeMem (apath, sizeof (struct AnchorPath) + PATH_SIZE); } return o; |