.
[coreutils.git] / lib / getversion.c
blobeca294599e4f374103751838977272c3ce56723d
1 /* getversion.c -- select backup filename type
2 Copyright (C) 1990 Free Software Foundation, Inc.
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2, or (at your option)
7 any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
18 /* Written by David MacKenzie <djm@gnu.ai.mit.edu> */
20 #include "backupfile.h"
22 #ifdef STDC_HEADERS
23 #include <stdlib.h>
24 #endif
26 int argmatch ();
27 void invalid_arg ();
29 extern char *program_name;
31 static char *backup_args[] =
33 "never", "simple", "nil", "existing", "t", "numbered", 0
36 static enum backup_type backup_types[] =
38 simple, simple, numbered_existing, numbered_existing, numbered, numbered
41 /* Return the type of backup indicated by VERSION.
42 Unique abbreviations are accepted. */
44 enum backup_type
45 get_version (version)
46 char *version;
48 int i;
50 if (version == 0 || *version == 0)
51 return numbered_existing;
52 i = argmatch (version, backup_args);
53 if (i >= 0)
54 return backup_types[i];
55 invalid_arg ("version control type", version, i);
56 exit (1);