<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 27, 2015 at 7:43 AM, Raimund Steger <span dir="ltr"><<a href="mailto:rs@mytum.de" target="_blank">rs@mytum.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Maybe we could just add FcPtrToOffset(...) and strlen(dent->d_name), regardless of sizeof(struct dirent)) (i. e. on all platforms), assuming d_name is always the last member, given it's defined as variable size by POSIX?</blockquote><div><br></div><div>It looks like the maximum length of d_name is defined as NAME_MAX or FILENAME_MAX in POSIX. just using them would be simple but if there are any platforms not following it, your patch looks better indeed.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> Something like:<br>
<br>
diff --git a/src/fcstat.c b/src/fcstat.c<br>
index d2eb258..d444bf9 100644<br>
--- a/src/fcstat.c<br>
+++ b/src/fcstat.c<br>
@@ -215,13 +215,8 @@ FcScandir (const char              *dirp,<br>
     {<br>
        if (!filter || (filter) (dent))<br>
        {<br>
-           size_t dentlen = sizeof (struct dirent);<br>
-<br>
-           if (sizeof (struct dirent) == FcPtrToOffset (dent, dent->d_name))<br>
-           {<br>
-               dentlen += strlen (dent->d_name) + 1;<br>
-               dentlen = ((dentlen + ALIGNOF_VOID_P - 1) & ~(ALIGNOF_VOID_P - 1));<br>
-           }<br>
+           size_t dentlen = FcPtrToOffset (dent, dent->d_name) + strlen (dent->d_name) + 1;<span class="im HOEnZb"><br>
+           dentlen = ((dentlen + ALIGNOF_VOID_P - 1) & ~(ALIGNOF_VOID_P - 1));<br></span><span class="im HOEnZb">
            p = (struct dirent *) malloc (dentlen);<br></span><div class="HOEnZb"><div class="h5">
            memcpy (p, dent, dentlen);<br>
            if (n >= lsize)<br>
<br>
<br>
<br></div></div><span class="HOEnZb"><font color="#888888">
-- <br>
Worringer Str 31 Duesseldorf 40211 DE  home: <<a href="mailto:rs@mytum.de" target="_blank">rs@mytum.de</a>><br>
<a href="tel:%2B49-179-2981632" value="+491792981632" target="_blank">+49-179-2981632</a> icq 16845346           work: <<a href="mailto:rs@interface-ag.de" target="_blank">rs@interface-ag.de</a>><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Akira TAGOH</div>
</div></div>