X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Fcurs_termcap.3x;h=9b21505603b968b74af2ea357cd98d4129a06a9e;hp=f8977bebca9c9c49abf6d346392de98acbff11b2;hb=bf66beed16926edb72b65b5ac3e7610fb8f04523;hpb=4ceb04b5e19df8964f98c7675d9448c205a2053e diff --git a/man/curs_termcap.3x b/man/curs_termcap.3x index f8977beb..9b215056 100644 --- a/man/curs_termcap.3x +++ b/man/curs_termcap.3x @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2015,2016 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * .\" copy of this software and associated documentation files (the * @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_termcap.3x,v 1.30 2013/01/19 15:58:48 tom Exp $ +.\" $Id: curs_termcap.3x,v 1.32 2016/03/19 22:52:25 tom Exp $ .TH curs_termcap 3X "" .de bP .IP \(bu 4 @@ -121,9 +121,24 @@ or \-1 if it is not available. The \fBtgetstr\fR routine returns the string entry for \fIid\fR, or zero if it is not available. Use \fBtputs\fR to output the returned string. -The return value will also be copied to the buffer pointed to by \fIarea\fR, +The \fIarea\fP parameter is used as follows: +.RS 3 +.bP +It is assumed to be the address of a pointer to a buffer managed by the +calling application. +.bP +However, ncurses checks to ensure that \fBarea\fP is not NULL, +and also that the resulting buffer pointer is not NULL. +If either check fails, the \fIarea\fP parameter is ignored. +.bP +If the checks succeed, ncurses also copies the return value to +the buffer pointed to by \fIarea\fR, and the \fIarea\fR value will be updated to point past the null ending this value. +.bP +The return value itself is an address in the terminal description which +is loaded into memory. +.RE .PP Only the first two characters of the \fBid\fR parameter of \fBtgetflag\fR, @@ -131,8 +146,26 @@ Only the first two characters of the \fBid\fR parameter of \fBtgetstr\fR are compared in lookups. .SS FORMATTING CAPABILITIES .PP -The \fBtgoto\fR routine instantiates the parameters into the given capability. -The output from this routine is to be passed to \fBtputs\fR. +The \fBtgoto\fR routine expands the given capability using the parameters. +.bP +Because the capability may have padding characters, +the output of \fBtgoto\fP should be passed to \fBtputs\fR +rather than some other output function such as \fBprintf\fP. +.bP +While \fBtgoto\fP is assumed to be used for the two-parameter +cursor positioning capability, +termcap applications also use it for single-parameter capabilities. +.IP +Doing this shows a quirk in \fBtgoto\fP: most hardware +terminals use cursor addressing with \fIrow\fP first, +but the original developers of the termcap interface chose to +put the \fIcolumn\fP parameter first. +The \fBtgoto\fP function swaps the order of parameters. +It does this also for calls requiring only a single parameter. +In that case, the first parameter is merely a placeholder. +.bP +Normally the ncurses library is compiled with terminfo support. +In that case, \fBtgoto\fP uses \fBtparm\fP (a more capable formatter). .PP The \fBtputs\fR routine is described on the \fBcurs_terminfo\fR(3X) manual page. It can retrieve capabilities by either termcap or terminfo name.