Fix termcap % code processing for some terminals.
Submitted by: Ross Ridge <ross@zooid.guild.org> via buster@lambda.hh.provi.de (Andreas Burmester)
This commit is contained in:
parent
59e92b4999
commit
17a6ff5abf
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=52405
@ -5,6 +5,7 @@
|
||||
* Public Domain
|
||||
* 92/02/01 07:30:36
|
||||
*
|
||||
* $FreeBSD$
|
||||
*/
|
||||
|
||||
#include "defs.h"
|
||||
@ -346,8 +347,8 @@ va_dcl {
|
||||
return OOPS;
|
||||
if ((sp[1] == 'p' || sp[1] == 'c')
|
||||
&& sp[2] != '\0' && fmt == NULL) {
|
||||
/* GNU aritmitic parameter, what they
|
||||
realy need is terminfo. */
|
||||
/* GNU arithmetic parameter, what they
|
||||
really need is terminfo. */
|
||||
int val, lc;
|
||||
if (sp[1] == 'p'
|
||||
&& getarg(termcap - 1 + sp[2] - '@',
|
||||
@ -475,7 +476,7 @@ va_dcl {
|
||||
sp++;
|
||||
fmt = sbuf;
|
||||
while(*fmt != '\0') {
|
||||
if (*fmt == '$')
|
||||
if (*fmt == '$' || *fmt == '^' || *fmt == '\\')
|
||||
*dp++ = '\\';
|
||||
*dp++ = *fmt++;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user