Mercurial > hg
changeset 40109:413b6b10fdd5
chg: upgrade client to use "setumask2" command
No compatibility code is added to the client side, since it's unlikely for
new client to communicate with the old server.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Fri, 05 Oct 2018 22:08:37 +0900 |
parents | e5fbdc3659fc |
children | d1338b4e39d0 |
files | contrib/chg/hgclient.c |
diffstat | 1 files changed, 7 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/contrib/chg/hgclient.c Thu Oct 04 23:25:55 2018 +0900 +++ b/contrib/chg/hgclient.c Fri Oct 05 22:08:37 2018 +0900 @@ -32,7 +32,7 @@ CAP_ATTACHIO = 0x0100, CAP_CHDIR = 0x0200, CAP_SETENV = 0x0800, - CAP_SETUMASK = 0x1000, + CAP_SETUMASK2 = 0x1000, CAP_VALIDATE = 0x2000, CAP_SETPROCNAME = 0x4000, }; @@ -48,7 +48,7 @@ {"attachio", CAP_ATTACHIO}, {"chdir", CAP_CHDIR}, {"setenv", CAP_SETENV}, - {"setumask", CAP_SETUMASK}, + {"setumask2", CAP_SETUMASK2}, {"validate", CAP_VALIDATE}, {"setprocname", CAP_SETPROCNAME}, {NULL, 0}, /* terminator */ @@ -425,10 +425,11 @@ mode_t mask = umask(0); umask(mask); - static const char command[] = "setumask\n"; - sendall(hgc->sockfd, command, sizeof(command) - 1); uint32_t data = htonl(mask); - sendall(hgc->sockfd, &data, sizeof(data)); + enlargecontext(&hgc->ctx, sizeof(data)); + memcpy(hgc->ctx.data, &data, sizeof(data)); + hgc->ctx.datasize = sizeof(data); + writeblockrequest(hgc, "setumask2"); } /*! @@ -508,7 +509,7 @@ attachio(hgc); if (hgc->capflags & CAP_CHDIR) chdirtocwd(hgc); - if (hgc->capflags & CAP_SETUMASK) + if (hgc->capflags & CAP_SETUMASK2) forwardumask(hgc); return hgc;