calltree.c (schily-2021-08-14.tar.bz2) | : | calltree.c (schily-2021-09-18.tar.bz2) | ||
---|---|---|---|---|
/* @(#)calltree.c 1.48 19/01/08 Copyright 1985, 1999-2019 J. Schilling */ | /* @(#)calltree.c 1.50 21/08/20 Copyright 1985, 1999-2021 J. Schilling */ | |||
#include <schily/mconfig.h> | #include <schily/mconfig.h> | |||
#ifndef lint | #ifndef lint | |||
static UConst char sccsid[] = | static UConst char sccsid[] = | |||
"@(#)calltree.c 1.48 19/01/08 Copyright 1985, 1999-2019 J. Schilling"; | "@(#)calltree.c 1.50 21/08/20 Copyright 1985, 1999-2021 J. Schilling"; | |||
#endif | #endif | |||
/* | /* | |||
* A program to produce a static calltree for C-functions | * A program to produce a static calltree for C-functions | |||
* | * | |||
* Copyright (c) 1985, 1999-2019 J. Schilling | * Copyright (c) 1985, 1999-2021 J. Schilling | |||
*/ | */ | |||
/* | /* | |||
* The contents of this file are subject to the terms of the | * The contents of this file are subject to the terms of the | |||
* Common Development and Distribution License, Version 1.0 only | * Common Development and Distribution License, Version 1.0 only | |||
* (the "License"). You may not use this file except in compliance | * (the "License"). You may not use this file except in compliance | |||
* with the License. | * with the License. | |||
* | * | |||
* See the file CDDL.Schily.txt in this distribution for details. | * See the file CDDL.Schily.txt in this distribution for details. | |||
* A copy of the CDDL is also available via the Internet at | * A copy of the CDDL is also available via the Internet at | |||
* http://www.opensource.org/licenses/cddl1.txt | * http://www.opensource.org/licenses/cddl1.txt | |||
* | * | |||
* When distributing Covered Code, include this CDDL HEADER in each | * When distributing Covered Code, include this CDDL HEADER in each | |||
* file and include the License file CDDL.Schily.txt from this distribution. | * file and include the License file CDDL.Schily.txt from this distribution. | |||
*/ | */ | |||
#include <schily/stdio.h> /* Includes popen()/pclose() */ | #include <schily/stdio.h> /* Includes popen()/pclose() */ | |||
#include <schily/standard.h> | #include <schily/standard.h> | |||
#include <schily/stdlib.h> | #include <schily/stdlib.h> | |||
#include <schily/unistd.h> | #include <schily/unistd.h> | |||
#include <schily/string.h> | #include <schily/string.h> | |||
#define GT_COMERR /* #define comerr gtcomerr */ | ||||
#define GT_ERROR /* #define error gterror */ | ||||
#include <schily/schily.h> | #include <schily/schily.h> | |||
#define VMS_VFORK_OK | #define VMS_VFORK_OK | |||
#include <schily/vfork.h> | #include <schily/vfork.h> | |||
#include <schily/nlsdefs.h> | ||||
#include "strsubs.h" | #include "strsubs.h" | |||
#include "sym.h" | #include "sym.h" | |||
#include "clex.h" | #include "clex.h" | |||
#include "version.h" | #include "version.h" | |||
#ifdef HAVE_FORK | #ifdef HAVE_FORK | |||
# include <schily/wait.h> | # include <schily/wait.h> | |||
# define Pwait(f) { wait(0); fclose(f); } | # define Pwait(f) { wait(0); fclose(f); } | |||
#else | #else | |||
# define Pwait(f) pclose(f) | # define Pwait(f) pclose(f) | |||
skipping to change at line 164 | skipping to change at line 167 | |||
FILE *f; | FILE *f; | |||
int i; | int i; | |||
int help = 0; | int help = 0; | |||
int version = 0; | int version = 0; | |||
char *thisname = 0; | char *thisname = 0; | |||
int cac; | int cac; | |||
char *const * cav; | char *const * cav; | |||
save_args(ac, av); | save_args(ac, av); | |||
(void) setlocale(LC_ALL, ""); | ||||
#ifdef USE_NLS | ||||
#if !defined(TEXT_DOMAIN) /* Should be defined by cc -D */ | ||||
#define TEXT_DOMAIN "calltree" /* Use this only if it weren't */ | ||||
#endif | ||||
{ char *dir; | ||||
dir = searchfileinpath("share/locale", F_OK, | ||||
SIP_ANY_FILE|SIP_NO_PATH, NULL); | ||||
if (dir) | ||||
(void) bindtextdomain(TEXT_DOMAIN, dir); | ||||
else | ||||
#if defined(PROTOTYPES) && defined(INS_BASE) | ||||
(void) bindtextdomain(TEXT_DOMAIN, INS_BASE "/share/locale"); | ||||
#else | ||||
(void) bindtextdomain(TEXT_DOMAIN, "/usr/share/locale"); | ||||
#endif | ||||
(void) textdomain(TEXT_DOMAIN); | ||||
} | ||||
#endif /* USE_NLS */ | ||||
cac = --ac; | cac = --ac; | |||
cav = ++av; | cav = ++av; | |||
/* | /* | |||
* the argument order it's important and it must be the same of opts | * the argument order it's important and it must be the same of opts | |||
*/ | */ | |||
if (getallargs(&cac, &cav, opts, &bflag, &rflag, &fflag, &gflag, | if (getallargs(&cac, &cav, opts, &bflag, &rflag, &fflag, &gflag, | |||
&mflag, &pflag, &npflag, &uflag, &eflag, | &mflag, &pflag, &npflag, &uflag, &eflag, | |||
&xflag, | &xflag, | |||
&dot, | &dot, | |||
skipping to change at line 193 | skipping to change at line 217 | |||
&debug, &debug, | &debug, &debug, | |||
got_cpp_arg, "-I", | got_cpp_arg, "-I", | |||
got_cpp_arg, "-D", | got_cpp_arg, "-D", | |||
got_cpp_arg, "-U") < 0) { | got_cpp_arg, "-U") < 0) { | |||
errmsgno(EX_BAD, "Bad Option: %s.\n", cav[0]); | errmsgno(EX_BAD, "Bad Option: %s.\n", cav[0]); | |||
usage(EX_BAD); | usage(EX_BAD); | |||
} | } | |||
if (help) | if (help) | |||
usage(0); | usage(0); | |||
if (version) { | if (version) { | |||
printf("Calltree release %s %s (%s-%s-%s) Copyright (C) 1985, 88- 90, 95-99, 2000-2019 Jörg Schilling\n", | gtprintf("Calltree release %s %s (%s-%s-%s) Copyright (C) 1985, 8 8-90, 95-99, 2000-2021 %s\n", | |||
ct_version, VERSION_DATE, | ct_version, VERSION_DATE, | |||
HOST_CPU, HOST_VENDOR, HOST_OS); | HOST_CPU, HOST_VENDOR, HOST_OS, | |||
_("Jörg Schilling")); | ||||
exit(0); | exit(0); | |||
} | } | |||
if (npflag) | if (npflag) | |||
pflag = FALSE; | pflag = FALSE; | |||
if (depth <= 0) | if (depth <= 0) | |||
depth = DEFDEPTH; | depth = DEFDEPTH; | |||
if (uflag) | if (uflag) | |||
mflag = fflag = TRUE; | mflag = fflag = TRUE; | |||
if (eflag) | if (eflag) | |||
End of changes. 8 change blocks. | ||||
5 lines changed or deleted | 30 lines changed or added |