mirror of
https://github.com/golang/go
synced 2024-11-12 09:50:21 -07:00
two gopack nits.
1. allocate an extra byte for use by write. 2. throw away the code trying to translate uid and gid to names. i suspect it of causing seg faults in some situations, and it is not needed by the compilers. Fixes #48. (I hope.) R=r https://golang.org/cl/152077
This commit is contained in:
parent
9188b1f000
commit
a174987a7c
@ -1430,6 +1430,10 @@ armalloc(int n)
|
|||||||
{
|
{
|
||||||
char *cp;
|
char *cp;
|
||||||
|
|
||||||
|
// bump so that arwrite can do the same
|
||||||
|
if(n&1)
|
||||||
|
n++;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
cp = malloc(n);
|
cp = malloc(n);
|
||||||
if (cp) {
|
if (cp) {
|
||||||
|
@ -44,7 +44,6 @@ disksize(int fd, int x)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int _p9usepwlibrary = 1;
|
|
||||||
/*
|
/*
|
||||||
* Caching the last group and passwd looked up is
|
* Caching the last group and passwd looked up is
|
||||||
* a significant win (stupidly enough) on most systems.
|
* a significant win (stupidly enough) on most systems.
|
||||||
@ -89,12 +88,6 @@ _p9dir(struct stat *lst, struct stat *st, char *name, Dir *d, char **str, char *
|
|||||||
sz += strlen(s)+1;
|
sz += strlen(s)+1;
|
||||||
|
|
||||||
/* user */
|
/* user */
|
||||||
if(p && st->st_uid == uid && p->pw_uid == uid)
|
|
||||||
;
|
|
||||||
else if(_p9usepwlibrary){
|
|
||||||
p = getpwuid(st->st_uid);
|
|
||||||
uid = st->st_uid;
|
|
||||||
}
|
|
||||||
if(p == nil || st->st_uid != uid || p->pw_uid != uid){
|
if(p == nil || st->st_uid != uid || p->pw_uid != uid){
|
||||||
snprint(tmp, sizeof tmp, "%d", (int)st->st_uid);
|
snprint(tmp, sizeof tmp, "%d", (int)st->st_uid);
|
||||||
s = tmp;
|
s = tmp;
|
||||||
@ -112,12 +105,6 @@ _p9dir(struct stat *lst, struct stat *st, char *name, Dir *d, char **str, char *
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* group */
|
/* group */
|
||||||
if(g && st->st_gid == gid && g->gr_gid == gid)
|
|
||||||
;
|
|
||||||
else if(_p9usepwlibrary){
|
|
||||||
g = getgrgid(st->st_gid);
|
|
||||||
gid = st->st_gid;
|
|
||||||
}
|
|
||||||
if(g == nil || st->st_gid != gid || g->gr_gid != gid){
|
if(g == nil || st->st_gid != gid || g->gr_gid != gid){
|
||||||
snprint(tmp, sizeof tmp, "%d", (int)st->st_gid);
|
snprint(tmp, sizeof tmp, "%d", (int)st->st_gid);
|
||||||
s = tmp;
|
s = tmp;
|
||||||
|
Loading…
Reference in New Issue
Block a user