pike.git/
src/
modules/
Perl/
perlmod.c
Branch:
Tag:
Non-build tags
All tags
No tags
2000-02-18
2000-02-18 01:38:45 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>
deb58f070b259f9af6efc1705d0eb0474e5b3dbf (
27
lines) (+
26
/-
1
)
[
Show
|
Annotate
]
Branch:
7.9
possible bugfix
Rev: src/modules/Perl/perlmod.c:1.9
186:
MEMCPY(env_blockp,k->val.u.string->str,k->ind.u.string->len); env_blockp+=k->val.u.string->len;
-
*(env_blockp++)=
'
0
'
;
+
*(env_blockp++)=0;
} THIS->env[d]=0;
-
+
} else {
+
/* Perl likes to be able to write in the environment block,
+
* give it it's own copy to protect ourselves.. /Hubbe
+
*/
+
INT32 d;
+
int env_block_size=0;
+
char *env_blockp;
+
+
for(d=0;environ[d];d++)
+
env_block_size+=strlen(environ[d])+1;
+
+
THIS->env_block=xalloc(env_block_size);
+
THIS->env=(char **)xalloc(d+1);
+
+
env_blockp=THIS->env_block;
+
+
for(d=0;environ[d];d++)
+
{
+
int l=strlen(environ[d]);
+
THIS->env[d++]=env_blockp;
+
MEMCPY(env_blockp,environ[d],l+1);
+
env_blockp+=l+1;
}
-
+
THIS->env[d]=0;
+
}
THREADS_ALLOW(); mt_lock(&perl_running);