On Fri, 26 Jul 1996, Jens Hamisch wrote:
> Did you try modules-3.0pre?
> It's available at ftp://ftp.connectde.net/sysadmin/sw-admininstration/modules.
No, I did not know about it. But I've tried it now and found some more
bugs (the strcpy one among them). The program crashed immediately, because
Tcl_GlobCmd() wants to write to its argument in tcl-7.5. So I had to
change the line
arg[1] = "~/.modulesbeginenv";
to
argv[1] = strdup("~/.modulesbeginenv");
There were some off-by-one errors and some uninitialized variables.
Additionally, Sun cc refused to compile utility.c (as did gcc -pedantic).
The error was
non-constant initializer: op "NAME" (Sun cc)
initializer element for `table[0]' is not computable at load time (gcc)
So I had to make changes like the following:
- Tcl_HashTable *table[] = { setenvHashTable, unsetenvHashTable };
+ Tcl_HashTable *table[2];
+ table[0] = setenvHashTable;
+ table[1] = unsetenvHashTable;
I include the complete set of patches below (gzipped and uuencoded).
Greetings, Swen
begin 644 modules.diff.gz
M'XL("$N;_#$"`VUO9'5L97,N9&EF9@#E6EM3VTH2?C:U/Z+#J4U\C^4;8)9L
M.&`2GQA(@4FRE4.IA#2RM9$EER03.*>ROWV[9T;2R)8,9)-]V-6#QY[IN75_
M?94MQ[:AL0S@U+>6+@L;G69K$;"F'SC3EZ+O:&[IA[>&XS;-%:IU@JU&H_&X
MI4J71@2_&1Y`'UJM0:\SZ+1`V]OK;]5JM0?W*9WZ'ORV=*&]!UIG@`MT>V+V
MZ]?0V&FWZKM0$\WKUUM0@FKUY19L0?PX=MER`C>,=',9-%[9CAY&1A0VL6/N
M6PR>PZ4^.CD>753@SZT&*(\Y,X(J>(O]W&Y<='^KED</!W!V-1[GC^*T9%P=
M!L>+\#.:+TQ_B5\/H+5/URC1V,MJE=]6ZW9;]1VHR9;N2\\P"/Q@[$^G+"C#
MV;D^O+C0+R>'%Y,ZC,^/ZJ`O`M_$#]Q"-UQGZC%+MQUD>IT?I((;_<+P9#9N
MR*_Z=8:C97"=,(+GSZ$:?XGXV1H-8E4M)8R[B20SA^B@A!*`9\3TLNBMPW,N
M@@H?5JYH/0ZA5PO+B-@FB,84C\!H3+H"4JTW:/4?`=)DNHK2]J#;QQ52E&KM
M-A<;;V*IH31*>'7BB)[(O([LP,ZY<<<9>0!:?[]40N;`J7'7!&\YOV$!^+;@
M,_.BP&$A9Z#`O;+PS=*V6:"'SA],+G'D!`%.`>JB-:(90^+%,I*T?(E&#%;4
MI$44U,&4LR^88<'"Q]59$(+A69PJGBH/4%N;C7=X\7OKQ?[CUT!(_.+8\'$T
M>:L?#W^]>O-F=/9&/ST_OAH/CTZ/GX+Y54$E@-\(-7-N'?F>[3IFM(ZRS&`A
MP#)4Z]C2B@W@RLREA-4N:-J...@UQ...LVCN=NJ9!3;8QL.BQN;:CXH61Q0*4
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
&LP#7*@``
`
end
|