"Fossies" - the Fresh Open Source Software Archive

Member "CSSC-1.4.1/gl/tests/test-lstat.c" (7 Feb 2016, 1797 Bytes) of package /linux/privat/CSSC-1.4.1.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "test-lstat.c": 1.4.0_vs_1.4.1.

    1 /* Test of lstat() function.
    2    Copyright (C) 2008-2016 Free Software Foundation, Inc.
    3 
    4    This program is free software: you can redistribute it and/or modify
    5    it under the terms of the GNU General Public License as published by
    6    the Free Software Foundation; either version 3 of the License, or
    7    (at your option) any later version.
    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, see <http://www.gnu.org/licenses/>.  */
   16 
   17 /* Written by Simon Josefsson, 2008; and Eric Blake, 2009.  */
   18 
   19 #include <config.h>
   20 
   21 #include <sys/stat.h>
   22 
   23 /* Caution: lstat may be a function-like macro.  Although this
   24    signature check must pass, it may be the signature of the real (and
   25    broken) lstat rather than rpl_lstat.  Most code should not use the
   26    address of lstat.  */
   27 #include "signature.h"
   28 SIGNATURE_CHECK (lstat, int, (char const *, struct stat *));
   29 
   30 #include <fcntl.h>
   31 #include <errno.h>
   32 #include <stdbool.h>
   33 #include <stdio.h>
   34 #include <stdlib.h>
   35 #include <unistd.h>
   36 
   37 #include "same-inode.h"
   38 #include "ignore-value.h"
   39 #include "macros.h"
   40 
   41 #define BASE "test-lstat.t"
   42 
   43 #include "test-lstat.h"
   44 
   45 /* Wrapper around lstat, which works even if lstat is a function-like
   46    macro, where test_lstat_func(lstat) would do the wrong thing.  */
   47 static int
   48 do_lstat (char const *name, struct stat *st)
   49 {
   50   return lstat (name, st);
   51 }
   52 
   53 int
   54 main (void)
   55 {
   56   /* Remove any leftovers from a previous partial run.  */
   57   ignore_value (system ("rm -rf " BASE "*"));
   58 
   59   return test_lstat_func (do_lstat, true);
   60 }