Edit

kc3-lang/gnulib/lib/getversion.c

Branch :

  • Show log

    Commit

  • Author : Jim Meyering
    Date : 1996-11-03 23:43:36
    Hash : 9a7f52c1
    Message : .

  • lib/getversion.c
  • /* getversion.c -- select backup filename type
       Copyright (C) 1990 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 2, 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, write to the Free Software Foundation,
       Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
    
    /* Written by David MacKenzie <djm@gnu.ai.mit.edu> */
    
    #if HAVE_CONFIG_H
    # include <config.h>
    #endif
    
    #include "backupfile.h"
    
    #if STDC_HEADERS
    # include <stdlib.h>
    #endif
    
    int argmatch ();
    void invalid_arg ();
    
    extern char *program_name;
    
    static const char *const backup_args[] =
    {
      "never", "simple", "nil", "existing", "t", "numbered", 0
    };
    
    static const enum backup_type backup_types[] =
    {
      simple, simple, numbered_existing, numbered_existing, numbered, numbered
    };
    
    /* Return the type of backup indicated by VERSION.
       Unique abbreviations are accepted. */
    
    enum backup_type
    get_version (version)
         char *version;
    {
      int i;
    
      if (version == 0 || *version == 0)
        return numbered_existing;
      i = argmatch (version, backup_args);
      if (i >= 0)
        return backup_types[i];
      invalid_arg ("version control type", version, i);
      exit (1);
    }