This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v2] ftell: seek to end only when there are unflushed bytes (BZ #17647)


On 05-12-2014 15:11, Andreas Schwab wrote:
> Adhemerval Zanella <azanella@linux.vnet.ibm.com> writes:
>
>> On 05-12-2014 14:23, Andreas Schwab wrote:
>>> Adhemerval Zanella <azanella@linux.vnet.ibm.com> writes:
>>>
>>>> @@ -364,11 +365,11 @@ do_ftell_test (const char *filename)
>>>>              reading.  */
>>>>           if (test_modes[i].fd_mode != O_WRONLY)
>>>>             {
>>>> -             char tmpbuf[data_len];
>>>> +             char tmpbuf[data_len * char_len];
>>> tmpbuf may not be aligned for wchar_t.
>> But I can't see why this won't allocate enough space for further operations. 
> Where did I say that?
>
>> Care to explain?
> Alignment and size are separate properties of an object.
>
> Andreas.
>
I see now my mistake. What about:

diff --git a/libio/tst-ftell-active-handler.c b/libio/tst-ftell-active-handler.c
index 44a4fac..0bd9d01 100644
--- a/libio/tst-ftell-active-handler.c
+++ b/libio/tst-ftell-active-handler.c
@@ -365,7 +365,8 @@ do_ftell_test (const char *filename)
             reading.  */
          if (test_modes[i].fd_mode != O_WRONLY)
            {
-             char tmpbuf[data_len * char_len];
+             char tmpbuf[data_len * char_len]
+               __attribute__ ((__aligned__ (__alignof__ (wchar_t))));
 
              rewind (fp);

PS: thanks Carlos for the clarification.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]