WHATSNEW: Update changes since 3.2.0rc2.
[Samba.git] / source / lib / version.c
blob3cae02ad2ee096c2cae125c1b707f1fdcc891e03
1 /*
2 Unix SMB/CIFS implementation.
3 Samba Version functions
5 Copyright (C) Stefan Metzmacher 2003
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>.
21 #include "includes.h"
22 #include <assert.h>
24 const char *samba_version_string(void)
26 #ifndef SAMBA_VERSION_VENDOR_SUFFIX
27 return SAMBA_VERSION_OFFICIAL_STRING;
28 #else
29 static char *samba_version;
30 int res;
31 #ifdef SAMBA_VERSION_VENDOR_PATCH
32 char *tmp_version;
33 #endif
35 if (samba_version != NULL)
36 return samba_version;
38 res = asprintf(&samba_version, "%s-%s",
39 SAMBA_VERSION_OFFICIAL_STRING,
40 SAMBA_VERSION_VENDOR_SUFFIX);
42 * Can't use smb_panic here due to dependencies
44 assert(res != -1);
46 #ifdef SAMBA_VERSION_VENDOR_PATCH
47 res = asprintf(&tmp_version, "%s-%d", samba_version,
48 SAMBA_VERSION_VENDOR_PATCH);
50 * Can't use smb_panic here due to dependencies
52 assert(res != -1);
54 SAFE_FREE(samba_version);
56 samba_version = tmp_version;
57 #endif
59 return samba_version;
60 #endif