Control: tags -1 +patch

| subst.c:1529:28: error: 'struct dirent' has no member named 'd_namelen'
|    d_namelen = filedir_entry->d_namelen;

man readdir:

       Only  the  fields  d_name  and  d_ino  are specified
       in POSIX.1-2001.  The remaining fields are available on many,
       but not all systems.  Under glibc, programs can  check
       for  the  availability  of  the fields not defined in POSIX.1 by
       testing whether the macros
        _DIRENT_HAVE_D_NAMLEN,   _DIRENT_HAVE_D_RECLEN,
       _DIRENT_HAVE_D_OFF, or _DIRENT_HAVE_D_TYPE are defined.


Therefore struct dirent might have member d_namlen (not d_namelen),
which is signalled by macro _DIRENT_HAVE_D_NAMLEN.

Please use attached patch and forward it also to upstream.

Thanks
        Petr
--- webcit-8.20-dfsg.orig/icontheme.c
+++ webcit-8.20-dfsg/icontheme.c
@@ -83,8 +83,8 @@
        while ((readdir_r(filedir, d, &filedir_entry) == 0) &&
               (filedir_entry != NULL))
        {
-#ifdef _DIRENT_HAVE_D_NAMELEN
-               d_namelen = filedir_entry->d_namelen;
+#ifdef _DIRENT_HAVE_D_NAMLEN
+               d_namelen = filedir_entry->d_namlen;
                d_type = filedir_entry->d_type;
 #else
 
--- webcit-8.20-dfsg.orig/static.c
+++ webcit-8.20-dfsg/static.c
@@ -183,7 +183,7 @@
               (filedir_entry != NULL))
        {
 #ifdef _DIRENT_HAVE_D_NAMLEN
-               d_namelen = filedir_entry->d_namelen;
+               d_namelen = filedir_entry->d_namlen;
 
 #else
                d_namelen = strlen(filedir_entry->d_name);
--- webcit-8.20-dfsg.orig/subst.c
+++ webcit-8.20-dfsg/subst.c
@@ -1526,7 +1526,7 @@
                char *MinorPtr;
 
 #ifdef _DIRENT_HAVE_D_NAMLEN
-               d_namelen = filedir_entry->d_namelen;
+               d_namelen = filedir_entry->d_namlen;
 
 #else
                d_namelen = strlen(filedir_entry->d_name);

Reply via email to