New module 'uniwidth/u8-strwidth'.
[gnulib.git] / lib / fts_.h
index 7e6a404..a8a52d2 100644 (file)
@@ -1,6 +1,6 @@
 /* Traverse a file hierarchy.
 
-   Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -52,7 +52,6 @@
 
 # ifdef _LIBC
 #  include <features.h>
-#  define _LGPL_PACKAGE 1
 # else
 #  undef __THROW
 #  define __THROW
@@ -65,6 +64,7 @@
 # include <stddef.h>
 # include <sys/types.h>
 # include <sys/stat.h>
+# include "i-ring.h"
 
 typedef struct {
        struct _ftsent *fts_cur;        /* current node */
@@ -141,7 +141,7 @@ typedef struct {
 # define FTS_STOP      0x2000          /* (private) unrecoverable error */
        int fts_options;                /* fts_open options, global flags */
 
-# if !_LGPL_PACKAGE
+# if GNULIB_FTS
        union {
                /* This data structure is used if FTS_TIGHT_CYCLE_CHECK is
                   specified.  It records the directories between a starting
@@ -163,7 +163,12 @@ typedef struct {
                   but it's not appropriate for programs like du.  */
                struct cycle_check_state *state;
        } fts_cycle;
+
 # endif
+       /* A stack of the file descriptors corresponding to the
+          most-recently traversed parent directories.
+          Currently used only in FTS_CWDFD mode.  */
+       I_ring fts_fd_ring;
 } FTS;
 
 typedef struct _ftsent {