summaryrefslogtreecommitdiff
path: root/contrib/nvi/vi/v_ulcase.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/nvi/vi/v_ulcase.c')
-rw-r--r--contrib/nvi/vi/v_ulcase.c38
1 files changed, 15 insertions, 23 deletions
diff --git a/contrib/nvi/vi/v_ulcase.c b/contrib/nvi/vi/v_ulcase.c
index 179bebabcc11..10d3d359619d 100644
--- a/contrib/nvi/vi/v_ulcase.c
+++ b/contrib/nvi/vi/v_ulcase.c
@@ -10,7 +10,7 @@
#include "config.h"
#ifndef lint
-static const char sccsid[] = "@(#)v_ulcase.c 10.7 (Berkeley) 3/6/96";
+static const char sccsid[] = "$Id: v_ulcase.c,v 10.12 2011/12/02 19:58:32 zy Exp $";
#endif /* not lint */
#include <sys/types.h>
@@ -47,14 +47,12 @@ static int ulcase __P((SCR *, recno_t, CHAR_T *, size_t, size_t, size_t));
* PUBLIC: int v_ulcase __P((SCR *, VICMD *));
*/
int
-v_ulcase(sp, vp)
- SCR *sp;
- VICMD *vp;
+v_ulcase(SCR *sp, VICMD *vp)
{
recno_t lno;
size_t cno, lcnt, len;
u_long cnt;
- char *p;
+ CHAR_T *p;
lno = vp->m_start.lno;
cno = vp->m_start.cno;
@@ -107,9 +105,7 @@ v_ulcase(sp, vp)
* PUBLIC: int v_mulcase __P((SCR *, VICMD *));
*/
int
-v_mulcase(sp, vp)
- SCR *sp;
- VICMD *vp;
+v_mulcase(SCR *sp, VICMD *vp)
{
CHAR_T *p;
size_t len;
@@ -145,28 +141,24 @@ v_mulcase(sp, vp)
* Change part of a line's case.
*/
static int
-ulcase(sp, lno, lp, len, scno, ecno)
- SCR *sp;
- recno_t lno;
- CHAR_T *lp;
- size_t len, scno, ecno;
+ulcase(SCR *sp, recno_t lno, CHAR_T *lp, size_t len, size_t scno, size_t ecno)
{
size_t blen;
int change, rval;
- CHAR_T ch, *p, *t;
- char *bp;
+ ARG_CHAR_T ch;
+ CHAR_T *p, *t, *bp;
- GET_SPACE_RET(sp, bp, blen, len);
- memmove(bp, lp, len);
+ GET_SPACE_RETW(sp, bp, blen, len);
+ MEMMOVE(bp, lp, len);
change = rval = 0;
for (p = bp + scno, t = bp + ecno + 1; p < t; ++p) {
- ch = *(u_char *)p;
- if (islower(ch)) {
- *p = toupper(ch);
+ ch = (UCHAR_T)*p;
+ if (ISLOWER(ch)) {
+ *p = TOUPPER(ch);
change = 1;
- } else if (isupper(ch)) {
- *p = tolower(ch);
+ } else if (ISUPPER(ch)) {
+ *p = TOLOWER(ch);
change = 1;
}
}
@@ -174,6 +166,6 @@ ulcase(sp, lno, lp, len, scno, ecno)
if (change && db_set(sp, lno, bp, len))
rval = 1;
- FREE_SPACE(sp, bp, blen);
+ FREE_SPACEW(sp, bp, blen);
return (rval);
}