1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | /* Exit with a status code indicating success. Copyright (C) 1999-2025 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 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 <https://www.gnu.org/licenses/>. */#include <config.h>#include <stdio.h>#include <sys/types.h>#include"system.h"/* Act like "true" by default; false.c overrides this. */#ifndef EXIT_STATUS# define EXIT_STATUS EXIT_SUCCESS#endif#if EXIT_STATUS == EXIT_SUCCESS# define PROGRAM_NAME"true"#else# define PROGRAM_NAME"false"#endif#define AUTHORS proper_name ("Jim Meyering")voidusage(int status){printf(_("\Usage: %s [ignored command line arguments]\n\ or: %s OPTION\n\"), program_name, program_name);printf("%s\n\n",_(EXIT_STATUS == EXIT_SUCCESS ?N_("Exit with a status code indicating success."):N_("Exit with a status code indicating failure.")));fputs(HELP_OPTION_DESCRIPTION, stdout);fputs(VERSION_OPTION_DESCRIPTION, stdout);printf(USAGE_BUILTIN_WARNING, PROGRAM_NAME);emit_ancillary_info(PROGRAM_NAME);exit(status);}intmain(int argc,char**argv){/* Recognize --help or --version only if it's the only command-line argument. */if(argc ==2){initialize_main(&argc, &argv);set_program_name(argv[0]);setlocale(LC_ALL,"");bindtextdomain(PACKAGE, LOCALEDIR);textdomain(PACKAGE);/* Note true(1) will return EXIT_FAILURE in the edge case where writes fail with GNU specific options. */atexit(close_stdout);if(STREQ(argv[1],"--help"))usage(EXIT_STATUS);if(STREQ(argv[1],"--version"))version_etc(stdout, PROGRAM_NAME, PACKAGE_NAME, Version, AUTHORS,(char*)nullptr);}return EXIT_STATUS;}
|