contrib/chg/chg.c
changeset 44261 04a3ae7aba14
parent 38198 3c84493556db
child 44617 1e459ac4cb48
equal deleted inserted replaced
44260:216fc4633800 44261:04a3ae7aba14
   223 	if (opts->args) {
   223 	if (opts->args) {
   224 		size_t size = sizeof(char *) * opts->argsize;
   224 		size_t size = sizeof(char *) * opts->argsize;
   225 		memcpy(argv + baseargvsize, opts->args, size);
   225 		memcpy(argv + baseargvsize, opts->args, size);
   226 	}
   226 	}
   227 	argv[argsize - 1] = NULL;
   227 	argv[argsize - 1] = NULL;
       
   228 
       
   229 	const char *lc_ctype_env = getenv("LC_CTYPE");
       
   230 	if (lc_ctype_env == NULL) {
       
   231 		if (putenv("CHG_CLEAR_LC_CTYPE=") != 0)
       
   232 			abortmsgerrno("failed to putenv CHG_CLEAR_LC_CTYPE");
       
   233 	} else {
       
   234 		if (setenv("CHGORIG_LC_CTYPE", lc_ctype_env, 1) != 0) {
       
   235 			abortmsgerrno("failed to setenv CHGORIG_LC_CTYYPE");
       
   236 		}
       
   237 	}
   228 
   238 
   229 	if (putenv("CHGINTERNALMARK=") != 0)
   239 	if (putenv("CHGINTERNALMARK=") != 0)
   230 		abortmsgerrno("failed to putenv");
   240 		abortmsgerrno("failed to putenv");
   231 	if (execvp(hgcmd, (char **)argv) < 0)
   241 	if (execvp(hgcmd, (char **)argv) < 0)
   232 		abortmsgerrno("failed to exec cmdserver");
   242 		abortmsgerrno("failed to exec cmdserver");