Annotation of embedaddon/rsync/rounding.c, revision 1.1.1.2

1.1       misho       1: /*
                      2:  * A pre-compilation helper program to aid in the creation of rounding.h.
                      3:  *
1.1.1.2 ! misho       4:  * Copyright (C) 2007-2013 Wayne Davison
1.1       misho       5:  *
                      6:  * This program is free software; you can redistribute it and/or modify
                      7:  * it under the terms of the GNU General Public License as published by
                      8:  * the Free Software Foundation; either version 3 of the License, or
                      9:  * (at your option) any later version.
                     10:  *
                     11:  * This program is distributed in the hope that it will be useful,
                     12:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
                     13:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     14:  * GNU General Public License for more details.
                     15:  *
                     16:  * You should have received a copy of the GNU General Public License along
                     17:  * with this program; if not, visit the http://fsf.org website.
                     18:  */
                     19: 
                     20: #include "rsync.h"
                     21: 
                     22: #define ARRAY_LEN (EXTRA_ROUNDING+1)
                     23: #define SIZEOF(x) ((long int)sizeof (x))
                     24: 
                     25: struct test {
                     26:     union file_extras extras[ARRAY_LEN];
                     27:     struct file_struct file;
                     28: };
                     29: 
                     30: #define ACTUAL_SIZE    SIZEOF(struct test)
                     31: #define EXPECTED_SIZE  (SIZEOF(union file_extras) * ARRAY_LEN + SIZEOF(struct file_struct))
                     32: 
                     33:  int main(UNUSED(int argc), UNUSED(char *argv[]))
                     34: {
                     35:     static int test_array[1 - 2 * (ACTUAL_SIZE != EXPECTED_SIZE)];
                     36:     test_array[0] = 0;
                     37:     return 0;
                     38: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>