Edit

kc3-lang/gnulib/lib/getversion.c

Branch :

  • Show log

    Commit

  • Author : Jim Meyering
    Date : 1992-10-31 20:42:48
    Hash : d87c3946
    Message : Initial revision

  • 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., 675 Mass Ave, Cambridge, MA 02139, USA.  */
    
    /* Written by David MacKenzie <djm@gnu.ai.mit.edu> */
    
    #include "backupfile.h"
    
    #ifdef STDC_HEADERS
    #include <stdlib.h>
    #endif
    
    int argmatch ();
    void invalid_arg ();
    
    extern char *program_name;
    
    static char *backup_args[] =
    {
      "never", "simple", "nil", "existing", "t", "numbered", 0
    };
    
    static 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);
    }