Re: svn commit: r336028 - head/usr.bin/top

2018-07-07 Thread Cy Schubert
In message , 
=?utf-8?B?5b6M6Je
k5aSn5Zyw?= writes:
> 
> > 2018/07/07 8:53、Hiroki Sato のメール:
> > 
> > Daichi GOTO  wrote
> >  in <201807061207.w66c76cr043...@repo.freebsd.org>:
> > 
> > da> Author: daichi
> > da> Date: Fri Jul  6 12:07:06 2018
> > da> New Revision: 336028
> > da> URL: https://svnweb.freebsd.org/changeset/base/336028
> > da>
> > da> Log:
> > da>   Changed to eliminate the upper limit of command length displayed
> > da>   by "-a" and expand to match terminal width
> > da>
> > da>   Reviewed by:  eadler
> > da>   Approved by:  gnn (mentor)
> > da>   Differential Revision:https://reviews.freebsd.org/D16083
> > da>
> > da> Modified:
> > da>   head/usr.bin/top/display.c
> > da>   head/usr.bin/top/machine.c
> > da>   head/usr.bin/top/screen.c
> > da>   head/usr.bin/top/top.h
> > 
> > This change breaks displaying a prompt and messages in the
> > interactive mode by new_message() when typing "o" or "p", for
> > example.  While r336031 fixed a warning in GCC, it does not fix the
> > problem itself.  Please fix it.
>
> OK. I will fix this problem first.

This should circumvent the problem until you find a more permanent fix.

Index: /opt/src/svn-current/usr.bin/top/display.c
===
--- /opt/src/svn-current/usr.bin/top/display.c  (revision 336075)
+++ /opt/src/svn-current/usr.bin/top/display.c  (working copy)
@@ -960,7 +960,7 @@
 va_start(args, msgfmt);
 
 /* first, format the message */
-vsnprintf(next_msg, strlen(next_msg), msgfmt, args);
+vsnprintf(next_msg, screen_width + 5, msgfmt, args);
 
 va_end(args);
 

>
>
> > I also think restructure of the buffer management is required first
> > if we want to eliminate the column width limitation.  Using sbuf(9)
> > consistently may be better than incomplete conversion from static
> > arrays to malloc().
>
> I understand. Switching to sbuf(9) is the next step.
>
> > 
> > -- Hiroki
>
>
>


-- 
Cheers,
Cy Schubert 
FreeBSD UNIX: Web:  http://www.FreeBSD.org

The need of the many outweighs the greed of the few.


___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r336028 - head/usr.bin/top

2018-07-07 Thread 後藤大地 via svn-src-head

> 2018/07/07 8:53、Hiroki Sato のメール:
> 
> Daichi GOTO  wrote
>  in <201807061207.w66c76cr043...@repo.freebsd.org>:
> 
> da> Author: daichi
> da> Date: Fri Jul  6 12:07:06 2018
> da> New Revision: 336028
> da> URL: https://svnweb.freebsd.org/changeset/base/336028
> da>
> da> Log:
> da>   Changed to eliminate the upper limit of command length displayed
> da>   by "-a" and expand to match terminal width
> da>
> da>   Reviewed by:eadler
> da>   Approved by:gnn (mentor)
> da>   Differential Revision:  https://reviews.freebsd.org/D16083
> da>
> da> Modified:
> da>   head/usr.bin/top/display.c
> da>   head/usr.bin/top/machine.c
> da>   head/usr.bin/top/screen.c
> da>   head/usr.bin/top/top.h
> 
> This change breaks displaying a prompt and messages in the
> interactive mode by new_message() when typing "o" or "p", for
> example.  While r336031 fixed a warning in GCC, it does not fix the
> problem itself.  Please fix it.

OK. I will fix this problem first.


> I also think restructure of the buffer management is required first
> if we want to eliminate the column width limitation.  Using sbuf(9)
> consistently may be better than incomplete conversion from static
> arrays to malloc().

I understand. Switching to sbuf(9) is the next step.

> 
> -- Hiroki

___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r336028 - head/usr.bin/top

2018-07-06 Thread Hiroki Sato
Daichi GOTO  wrote
  in <201807061207.w66c76cr043...@repo.freebsd.org>:

da> Author: daichi
da> Date: Fri Jul  6 12:07:06 2018
da> New Revision: 336028
da> URL: https://svnweb.freebsd.org/changeset/base/336028
da>
da> Log:
da>   Changed to eliminate the upper limit of command length displayed
da>   by "-a" and expand to match terminal width
da>
da>   Reviewed by:  eadler
da>   Approved by:  gnn (mentor)
da>   Differential Revision:https://reviews.freebsd.org/D16083
da>
da> Modified:
da>   head/usr.bin/top/display.c
da>   head/usr.bin/top/machine.c
da>   head/usr.bin/top/screen.c
da>   head/usr.bin/top/top.h

 This change breaks displaying a prompt and messages in the
 interactive mode by new_message() when typing "o" or "p", for
 example.  While r336031 fixed a warning in GCC, it does not fix the
 problem itself.  Please fix it.

 I also think restructure of the buffer management is required first
 if we want to eliminate the column width limitation.  Using sbuf(9)
 consistently may be better than incomplete conversion from static
 arrays to malloc().

-- Hiroki


pgpwYfF61gB5W.pgp
Description: PGP signature


Re: svn commit: r336028 - head/usr.bin/top

2018-07-06 Thread 後藤大地 via svn-src-head
Surely. I think your advice is appropriate.
Could you please commit?

> 2018/07/06 22:04、Sean Bruno のメール:
> 
> 
> 
> On 07/06/18 06:07, Daichi GOTO wrote:
>> -static char next_msg[MAX_COLS + 5];
>> +static char *next_msg = NULL;
>> static int msglen = 0;
>> /* Invariant: msglen is always the length of the message currently displayed
>>on the screen (even when next_msg doesn't contain that message). */
> 
> gcc noticed that a later call to vsnprintf() now has some problems.
> /home/sbruno/bsd/wifi/fbsd_head/usr.bin/top/display.c: In function
> 'new_message':
> /home/sbruno/bsd/wifi/fbsd_head/usr.bin/top/display.c:963:31: error:
> argument to 'sizeof' in 'vsnprintf' call is the same expression as the
> destination; did you mean to provide an explicit length?
> [-Werror=sizeof-pointer-memaccess]
> vsnprintf(next_msg, sizeof(next_msg), msgfmt, args);
> 
> 
> I think this needs to be changed
> 
> Index: usr.bin/top/display.c
> ===
> --- usr.bin/top/display.c   (revision 336029)
> +++ usr.bin/top/display.c   (working copy)
> @@ -960,7 +960,7 @@
> va_start(args, msgfmt);
> 
> /* first, format the message */
> -vsnprintf(next_msg, sizeof(next_msg), msgfmt, args);
> +vsnprintf(next_msg, strlen(next_msg), msgfmt, args);
> 
> va_end(args);
> 

___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r336028 - head/usr.bin/top

2018-07-06 Thread Sean Bruno


On 07/06/18 06:07, Daichi GOTO wrote:
> -static char next_msg[MAX_COLS + 5];
> +static char *next_msg = NULL;
>  static int msglen = 0;
>  /* Invariant: msglen is always the length of the message currently displayed
> on the screen (even when next_msg doesn't contain that message). */

gcc noticed that a later call to vsnprintf() now has some problems.
/home/sbruno/bsd/wifi/fbsd_head/usr.bin/top/display.c: In function
'new_message':
/home/sbruno/bsd/wifi/fbsd_head/usr.bin/top/display.c:963:31: error:
argument to 'sizeof' in 'vsnprintf' call is the same expression as the
destination; did you mean to provide an explicit length?
[-Werror=sizeof-pointer-memaccess]
 vsnprintf(next_msg, sizeof(next_msg), msgfmt, args);


I think this needs to be changed

Index: usr.bin/top/display.c
===
--- usr.bin/top/display.c   (revision 336029)
+++ usr.bin/top/display.c   (working copy)
@@ -960,7 +960,7 @@
 va_start(args, msgfmt);

 /* first, format the message */
-vsnprintf(next_msg, sizeof(next_msg), msgfmt, args);
+vsnprintf(next_msg, strlen(next_msg), msgfmt, args);

 va_end(args);



signature.asc
Description: OpenPGP digital signature