1/* 2 Unix SMB/CIFS implementation. 3 Samba Version functions 4 5 Copyright (C) Stefan Metzmacher 2003 6 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 2 of the License, or 10 (at your option) any later version. 11 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. 16 17 You should have received a copy of the GNU General Public License 18 along with this program; if not, write to the Free Software 19 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 20*/ 21 22#include "includes.h" 23 24const char *samba_version_string(void) 25{ 26#ifndef SAMBA_VERSION_VENDOR_SUFFIX 27 return SAMBA_VERSION_OFFICIAL_STRING; 28#else 29 static fstring samba_version; 30 fstring tmp_version; 31 static BOOL init_samba_version; 32 size_t remaining; 33 34 if (init_samba_version) 35 return samba_version; 36 37 snprintf(samba_version,sizeof(samba_version),"%s-%s", 38 SAMBA_VERSION_OFFICIAL_STRING, 39 SAMBA_VERSION_VENDOR_SUFFIX); 40 41#ifdef SAMBA_VENDOR_PATCH 42 remaining = sizeof(samba_version)-strlen(samba_version); 43 snprintf( tmp_version, sizeof(tmp_version), "-%d", SAMBA_VENDOR_PATCH ); 44 strlcat( samba_version, tmp_version, remaining-1 ); 45#endif 46 47 init_samba_version = True; 48 return samba_version; 49#endif 50} 51