summaryrefslogtreecommitdiff
path: root/src/unlink.c
blob: 2d63149928c2180b1333c1e8ea7632aafc32217d (plain)
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
/* unlink utility for GNU. Copyright (C) 2001-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/>. *//* Written by Michael Stone *//* Implementation overview: Simply call the system 'unlink' function */#include <config.h>#include <stdio.h>#include <sys/types.h>#include"system.h"#include"long-options.h"#include"quote.h"/* The official name of this program (e.g., no 'g' prefix). */#define PROGRAM_NAME"unlink"#define AUTHORS proper_name ("Michael Stone")voidusage(int status){if(status != EXIT_SUCCESS)emit_try_help();else{printf(_("\Usage: %s FILE\n\ or: %s OPTION\n"), program_name, program_name);fputs(_("Call the unlink function to remove the specified FILE.\n\n"), stdout);fputs(HELP_OPTION_DESCRIPTION, stdout);fputs(VERSION_OPTION_DESCRIPTION, stdout);emit_ancillary_info(PROGRAM_NAME);}exit(status);}intmain(int argc,char**argv){initialize_main(&argc, &argv);set_program_name(argv[0]);setlocale(LC_ALL,"");bindtextdomain(PACKAGE, LOCALEDIR);textdomain(PACKAGE);atexit(close_stdout);parse_gnu_standard_options_only(argc, argv, PROGRAM_NAME, PACKAGE_NAME, Version,true, usage, AUTHORS,(char const*)nullptr);if(argc < optind +1){error(0,0,_("missing operand"));usage(EXIT_FAILURE);}if(optind +1< argc){error(0,0,_("extra operand %s"),quote(argv[optind +1]));usage(EXIT_FAILURE);}if(unlink(argv[optind]) !=0)error(EXIT_FAILURE, errno,_("cannot unlink %s"),quoteaf(argv[optind]));return EXIT_SUCCESS;}
close