optimise and, ahem… plug…
This commit is contained in:
parent
39057dd592
commit
a1bfc17aa0
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
|
|
||||||
__RCSID("$MirOS: src/bin/mksh/histrap.c,v 1.25 2006/08/24 18:57:30 tg Exp $");
|
__RCSID("$MirOS: src/bin/mksh/histrap.c,v 1.26 2006/11/09 14:19:31 tg Exp $");
|
||||||
|
|
||||||
#if !defined(__sun__)
|
#if !defined(__sun__)
|
||||||
#define DO_HISTORY
|
#define DO_HISTORY
|
||||||
@ -75,9 +75,9 @@ c_fc(char **wp)
|
|||||||
if (strcmp(p, "-") == 0)
|
if (strcmp(p, "-") == 0)
|
||||||
sflag++;
|
sflag++;
|
||||||
else {
|
else {
|
||||||
size_t len = strlen(p) + 4;
|
size_t len = strlen(p);
|
||||||
editor = str_nsave(p, len, ATEMP);
|
editor = str_nsave(p, len + 4, ATEMP);
|
||||||
strlcat(editor, " $_", len);
|
memcpy(editor + len, " $_", 4);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'g': /* non-at&t ksh */
|
case 'g': /* non-at&t ksh */
|
||||||
|
30
misc.c
30
misc.c
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
|
|
||||||
__RCSID("$MirOS: src/bin/mksh/misc.c,v 1.18 2006/11/05 17:01:46 tg Exp $\t"
|
__RCSID("$MirOS: src/bin/mksh/misc.c,v 1.19 2006/11/09 14:19:31 tg Exp $\t"
|
||||||
MKSH_SH_H_ID);
|
MKSH_SH_H_ID);
|
||||||
|
|
||||||
short chtypes[UCHAR_MAX+1]; /* type bits for unsigned char */
|
short chtypes[UCHAR_MAX+1]; /* type bits for unsigned char */
|
||||||
@ -56,9 +56,9 @@ char *
|
|||||||
ulton(long unsigned int n, int base)
|
ulton(long unsigned int n, int base)
|
||||||
{
|
{
|
||||||
char *p;
|
char *p;
|
||||||
static char buf [20];
|
static char buf[20];
|
||||||
|
|
||||||
p = &buf[sizeof(buf)];
|
p = &buf[sizeof (buf)];
|
||||||
*--p = '\0';
|
*--p = '\0';
|
||||||
do {
|
do {
|
||||||
*--p = "0123456789ABCDEF"[n%base];
|
*--p = "0123456789ABCDEF"[n%base];
|
||||||
@ -67,20 +67,6 @@ ulton(long unsigned int n, int base)
|
|||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *
|
|
||||||
str_save(const char *s, Area *ap)
|
|
||||||
{
|
|
||||||
size_t len;
|
|
||||||
char *p;
|
|
||||||
|
|
||||||
if (!s)
|
|
||||||
return NULL;
|
|
||||||
len = strlen(s)+1;
|
|
||||||
p = alloc(len, ap);
|
|
||||||
strlcpy(p, s, len+1);
|
|
||||||
return (p);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Allocate a string of size n+1 and copy upto n characters from the possibly
|
/* Allocate a string of size n+1 and copy upto n characters from the possibly
|
||||||
* null terminated string s into it. Always returns a null terminated string
|
* null terminated string s into it. Always returns a null terminated string
|
||||||
* (unless n < 0).
|
* (unless n < 0).
|
||||||
@ -88,13 +74,11 @@ str_save(const char *s, Area *ap)
|
|||||||
char *
|
char *
|
||||||
str_nsave(const char *s, int n, Area *ap)
|
str_nsave(const char *s, int n, Area *ap)
|
||||||
{
|
{
|
||||||
char *ns;
|
char *ns = NULL;
|
||||||
|
|
||||||
if (n < 0)
|
if (n >= 0 && s)
|
||||||
return 0;
|
strlcpy(ns = alloc(n + 1, ap), s, n + 1);
|
||||||
ns = alloc(n + 1, ap);
|
return (ns);
|
||||||
ns[0] = '\0';
|
|
||||||
return strncat(ns, s, n);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* called from XcheckN() to grow buffer */
|
/* called from XcheckN() to grow buffer */
|
||||||
|
4
sh.h
4
sh.h
@ -8,7 +8,7 @@
|
|||||||
/* $OpenBSD: c_test.h,v 1.4 2004/12/20 11:34:26 otto Exp $ */
|
/* $OpenBSD: c_test.h,v 1.4 2004/12/20 11:34:26 otto Exp $ */
|
||||||
/* $OpenBSD: tty.h,v 1.5 2004/12/20 11:34:26 otto Exp $ */
|
/* $OpenBSD: tty.h,v 1.5 2004/12/20 11:34:26 otto Exp $ */
|
||||||
|
|
||||||
#define MKSH_SH_H_ID "$MirOS: src/bin/mksh/sh.h,v 1.55 2006/11/09 00:39:27 tg Exp $"
|
#define MKSH_SH_H_ID "$MirOS: src/bin/mksh/sh.h,v 1.56 2006/11/09 14:19:31 tg Exp $"
|
||||||
#define MKSH_VERSION "R29 2006/11/08"
|
#define MKSH_VERSION "R29 2006/11/08"
|
||||||
|
|
||||||
#if HAVE_SYS_PARAM_H
|
#if HAVE_SYS_PARAM_H
|
||||||
@ -1220,7 +1220,7 @@ struct tbl **ktsort(struct table *);
|
|||||||
void setctypes(const char *, int);
|
void setctypes(const char *, int);
|
||||||
void initctypes(void);
|
void initctypes(void);
|
||||||
char *ulton(unsigned long, int);
|
char *ulton(unsigned long, int);
|
||||||
char *str_save(const char *, Area *);
|
#define str_save(s, a) str_nsave((s), strlen(s), a)
|
||||||
char *str_nsave(const char *, int, Area *);
|
char *str_nsave(const char *, int, Area *);
|
||||||
int option(const char *);
|
int option(const char *);
|
||||||
char *getoptions(void);
|
char *getoptions(void);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user