Blame tests/version.c

Packit 3c2767
/* version.c - Check the version info fucntions
Packit 3c2767
   Copyright (C) 2013 g10 Code GmbH
Packit 3c2767
Packit 3c2767
   This file is part of Assuan.
Packit 3c2767
Packit 3c2767
   Assuan is free software; you can redistribute it and/or modify it
Packit 3c2767
   under the terms of the GNU Lesser General Public License as
Packit 3c2767
   published by the Free Software Foundation; either version 2.1 of
Packit 3c2767
   the License, or (at your option) any later version.
Packit 3c2767
Packit 3c2767
   Assuan is distributed in the hope that it will be useful, but
Packit 3c2767
   WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 3c2767
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 3c2767
   Lesser General Public License for more details.
Packit 3c2767
Packit 3c2767
   You should have received a copy of the GNU Lesser General Public
Packit 3c2767
   License along with this program; if not, see <http://www.gnu.org/licenses/>.
Packit 3c2767
 */
Packit 3c2767
Packit 3c2767
#ifdef HAVE_CONFIG_H
Packit 3c2767
#include <config.h>
Packit 3c2767
#endif
Packit 3c2767
Packit 3c2767
#include <stdio.h>
Packit 3c2767
#include <stdlib.h>
Packit 3c2767
#include <string.h>
Packit 3c2767
#include <assert.h>
Packit 3c2767
Packit 3c2767
#include "../src/assuan.h"
Packit 3c2767
#include "common.h"
Packit 3c2767
Packit 3c2767

Packit 3c2767
/*
Packit 3c2767
Packit 3c2767
     M A I N
Packit 3c2767
Packit 3c2767
*/
Packit 3c2767
int
Packit 3c2767
main (int argc, char **argv)
Packit 3c2767
{
Packit 3c2767
  int last_argc = -1;
Packit 3c2767
Packit 3c2767
  if (argc)
Packit 3c2767
    {
Packit 3c2767
      log_set_prefix (*argv);
Packit 3c2767
      argc--; argv++;
Packit 3c2767
    }
Packit 3c2767
  while (argc && last_argc != argc )
Packit 3c2767
    {
Packit 3c2767
      last_argc = argc;
Packit 3c2767
      if (!strcmp (*argv, "--help"))
Packit 3c2767
        {
Packit 3c2767
          puts (
Packit 3c2767
"usage: ./version [options]\n"
Packit 3c2767
"\n"
Packit 3c2767
"Options:\n"
Packit 3c2767
"  --verbose      Show what is going on\n"
Packit 3c2767
);
Packit 3c2767
          exit (0);
Packit 3c2767
        }
Packit 3c2767
      if (!strcmp (*argv, "--verbose"))
Packit 3c2767
        {
Packit 3c2767
          verbose = 1;
Packit 3c2767
          argc--; argv++;
Packit 3c2767
        }
Packit 3c2767
      else if (!strcmp (*argv, "--debug"))
Packit 3c2767
        {
Packit 3c2767
          verbose = debug = 1;
Packit 3c2767
          argc--; argv++;
Packit 3c2767
        }
Packit 3c2767
    }
Packit 3c2767
Packit 3c2767
  assuan_set_assuan_log_prefix (log_prefix);
Packit 3c2767
Packit 3c2767
  if (!assuan_check_version (ASSUAN_VERSION))
Packit 3c2767
    log_error ("assuan_check_version returned an error\n");
Packit 3c2767
  if (!assuan_check_version ("2.0.99"))
Packit 3c2767
    log_error ("assuan_check_version returned an error for an old version\n");
Packit 3c2767
  if (assuan_check_version ("15"))
Packit 3c2767
    log_error ("assuan_check_version did not returned an error"
Packit 3c2767
               " for a newer version\n");
Packit 3c2767
  if (verbose || errorcount)
Packit 3c2767
    {
Packit 3c2767
      log_info ("Version from header: %s (0x%06x)\n",
Packit 3c2767
                ASSUAN_VERSION, ASSUAN_VERSION_NUMBER);
Packit 3c2767
      log_info ("Version from binary: %s \n", assuan_check_version (NULL));
Packit 3c2767
      log_info ("Copyright blurb ...:%s\n", assuan_check_version ("\001\001"));
Packit 3c2767
    }
Packit 3c2767
Packit 3c2767
  return errorcount ? 1 : 0;
Packit 3c2767
}