diff options
Diffstat (limited to 'script.c')
-rw-r--r-- | script.c | 41 |
1 files changed, 27 insertions, 14 deletions
@@ -15,26 +15,26 @@ * the Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111, USA. * * As a special exception, the Free Software Foundation gives permission - * for additional uses of the text contained in its release of GUILE. + * for additional uses of the text contained in its release of SCM. * - * The exception is that, if you link the GUILE library with other files + * The exception is that, if you link the SCM library with other files * to produce an executable, this does not by itself cause the * resulting executable to be covered by the GNU General Public License. * Your use of that executable is in no way restricted on account of - * linking the GUILE library code into it. + * linking the SCM library code into it. * * This exception does not however invalidate any other reasons why * the executable file might be covered by the GNU General Public License. * * This exception applies only to the code released by the - * Free Software Foundation under the name GUILE. If you copy + * Free Software Foundation under the name SCM. If you copy * code from other Free Software Foundation releases into a copy of - * GUILE, as the General Public License permits, the exception does + * SCM, as the General Public License permits, the exception does * not apply to the code that you add in this way. To avoid misleading * anyone as to the status of such modified files, you must delete * this exception notice from them. * - * If you write modifications of your own for GUILE, it is your choice + * If you write modifications of your own for SCM, it is your choice * whether to permit this exception to apply to your modifications. * If you do not wish that, delete this exception notice. */ @@ -52,13 +52,13 @@ #ifdef linux # include <unistd.h> /* for X_OK define */ #endif /* def linux */ -#ifdef __svr4__ +#ifdef __SVR4 # include <unistd.h> /* for X_OK define */ #else # ifdef __sgi__ # include <unistd.h> /* for X_OK define */ # endif /* def __sgi__ */ -#endif /* def __svr4__ */ +#endif /* def __SVR4 */ /* Concatentate str2 onto str1 at position n and return concatenated string if file exists; 0 otherwise. */ @@ -124,7 +124,7 @@ char *scm_sep_init_try(path, sep, initname) # define X_OK 1 #endif /* ndef X_OK */ -#ifdef unix +#ifdef HAVE_UNIX # include <stdio.h> char *script_find_executable(name) @@ -156,7 +156,6 @@ char *script_find_executable(name) #endif /* unix */ #ifdef MSDOS - # define DEFAULT_PATH "C:\\DOS" # define PATH_DELIMITER ';' # define ABSOLUTE_FILENAME_P(fname) ((fname[0] == '\\') \ @@ -170,6 +169,20 @@ char *dld_find_executable(file) } #endif /* def MSDOS */ +#ifdef __IBMC__ +# define PATH_DELIMITER ';' +# define ABSOLUTE_FILENAME_P(fname) ((fname[0] == '/') \ + || (fname[0] == '\\') \ + || (fname[0] && (fname[1] == ':'))) + +char *dld_find_executable(file) + const char *file; +{ + /* fprintf(stderr, "dld_find_executable %s -> %s\n", file, scm_cat_path(0L, file, 0L)); fflush(stderr); */ + return scm_cat_path(0L, file, 0L); +} +#endif /* def __IBMC__ */ + /* Given dld_find_executable()'s best guess for the pathname of this executable, find (and verify the existence of) initname in the implementation-vicinity of this program. Returns a newly allocated @@ -227,7 +240,7 @@ char *find_impl_file(exec_path, generic_name, initname, sep) path = scm_sep_init_try(path, sep, initname); if (path) return path; } - if (!strcmp(peer,"src")) break; + if (!strcmp(peer, "src")) break; } if (generic_name) { @@ -242,7 +255,7 @@ char *find_impl_file(exec_path, generic_name, initname, sep) path = scm_sep_init_try(path, sep, initname); if (path) return path; } - if (!strcmp(peer,"src")) break; + if (!strcmp(peer, "src")) break; }} /* Look for initname in executable-name peer directory. */ @@ -377,7 +390,7 @@ char **script_process_argv(argc, argv) int nargc = argc, argi = 1, nargi = 1; char *narg, **nargv; if (!(argc > 2 && script_meta_arg_P(argv[1]))) return 0L; - if (!(nargv = (char **)malloc((1 + nargc) * sizeof(char*)))) return 0L; + if (!(nargv = (char **)malloc((1 + nargc) * sizeof(char *)))) return 0L; nargv[0] = argv[0]; while (((argi+1) < argc) && (script_meta_arg_P(argv[argi]))) { FILE *f = fopen(argv[++argi], "r"); @@ -389,7 +402,7 @@ char **script_process_argv(argc, argv) case '\n': goto found_args; } found_args: while ((narg = script_read_arg(f))) - if (!(nargv = (char **)realloc(nargv, (1 + ++nargc) * sizeof(char*)))) + if (!(nargv = (char **)realloc(nargv, (1 + ++nargc) * sizeof(char *)))) return 0L; else nargv[nargi++] = narg; fclose(f); |