vshost-util-vserver

Build script and sources for util-vserver.
git clone https://ccx.te2000.cz/git/vshost-util-vserver
Log | Files | Refs

fmt.c (1537B)


      1 // $Id$    --*- c -*--
      2 
      3 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
      4 //  
      5 // This program is free software; you can redistribute it and/or modify
      6 // it under the terms of the GNU General Public License as published by
      7 // the Free Software Foundation; version 2 of the License.
      8 //  
      9 // This program is distributed in the hope that it will be useful,
     10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
     11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     12 // GNU General Public License for more details.
     13 //  
     14 // You should have received a copy of the GNU General Public License
     15 // along with this program; if not, write to the Free Software
     16 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
     17 
     18 
     19 #ifdef HAVE_CONFIG_H
     20 #  include <config.h>
     21 #endif
     22 
     23 #include "lib_internal/coreassert.h"
     24 
     25 #include "lib/fmt.h"
     26 #include <string.h>
     27 
     28 #define TEST(VAL, EXP) {			\
     29     char	buf[512];			\
     30     size_t	l;				\
     31     memset(buf+1, '\23', sizeof(buf)-2);	\
     32     buf[0] = buf[sizeof(EXP)] = '\42';		\
     33     l = FUNC(buf+1, VAL);			\
     34     assert(l==sizeof(EXP)-1);			\
     35     assert(memcmp(buf+1, EXP, l)==0);		\
     36     assert(buf[0]  =='\42');			\
     37     assert(buf[l+1]=='\42');			\
     38     assert(buf[l+2]=='\23');			\
     39   }
     40 
     41 int main()
     42 {
     43   #define FUNC	utilvserver_fmt_xuint64
     44   TEST(0,  "0");
     45   TEST(1,   "1");
     46   TEST(15,  "f");
     47   TEST(16,  "10");
     48   TEST(100, "64");
     49   TEST(1000, "3e8");
     50   TEST(65535, "ffff");
     51   TEST(65536, "10000");
     52   TEST(68719476736ul, "1000000000");
     53 
     54   return 0;
     55 }