~piotr-sikora/libmemcached/fix-tests-on-openbsd

« back to all changes in this revision

Viewing changes to libmemcached/util/version.cc

  • Committer: Brian Aker
  • Date: 2011-04-28 00:30:03 UTC
  • mfrom: (929.1.88 libmemcached-build2)
  • Revision ID: brian@tangent.org-20110428003003-bm1qzgmg9kaawp5d
Merge in code for C++ compiling of libmemcached.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* LibMemcached
2
 
 * Copyright (C) 2010 Brian Aker
3
 
 * All rights reserved.
4
 
 *
5
 
 * Use and distribution licensed under the BSD license.  See
6
 
 * the COPYING file in the parent directory for full text.
7
 
 *
8
 
 * Summary: connect to all hosts, and make sure they meet a minimum version
 
1
/*  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
 
2
 * 
 
3
 *  Libmemcached library
 
4
 *
 
5
 *  Copyright (C) 2011 Data Differential, http://datadifferential.com/
 
6
 *  Copyright (C) 2010 Brian Aker All rights reserved.
 
7
 *
 
8
 *  Redistribution and use in source and binary forms, with or without
 
9
 *  modification, are permitted provided that the following conditions are
 
10
 *  met:
 
11
 *
 
12
 *      * Redistributions of source code must retain the above copyright
 
13
 *  notice, this list of conditions and the following disclaimer.
 
14
 *
 
15
 *      * Redistributions in binary form must reproduce the above
 
16
 *  copyright notice, this list of conditions and the following disclaimer
 
17
 *  in the documentation and/or other materials provided with the
 
18
 *  distribution.
 
19
 *
 
20
 *      * The names of its contributors may not be used to endorse or
 
21
 *  promote products derived from this software without specific prior
 
22
 *  written permission.
 
23
 *
 
24
 *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 
25
 *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 
26
 *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 
27
 *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 
28
 *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 
29
 *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 
30
 *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 
31
 *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 
32
 *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 
33
 *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 
34
 *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
9
35
 *
10
36
 */
11
37
 
12
 
/* -*- Mode: C; tab-width: 2; c-basic-offset: 2; indent-tabs-mode: nil -*- */
13
 
#include "libmemcached/common.h"
14
 
#include "libmemcached/memcached_util.h"
 
38
 
 
39
#include <libmemcached/common.h>
 
40
#include <libmemcached/memcached_util.h>
15
41
 
16
42
struct local_context
17
43
{
48
74
                                     uint8_t minor_version,
49
75
                                     uint8_t micro_version)
50
76
{
 
77
  if (memcached_version(memc) != MEMCACHED_SUCCESS)
 
78
    return false;
 
79
 
 
80
  struct local_context check= { major_version, minor_version, micro_version, true };
 
81
 
51
82
  memcached_server_fn callbacks[1];
52
 
  memcached_return_t rc= memcached_version(memc);
53
 
 
54
 
  if (rc != MEMCACHED_SUCCESS)
55
 
    return false;
56
 
 
57
 
  struct local_context check= { .major_version= major_version, .minor_version= minor_version, .micro_version= micro_version, .truth= true };
58
 
 
59
83
  callbacks[0]= check_server_version;
60
84
  memcached_server_cursor(memc, callbacks, (void *)&check,  1);
61
85