On Tue, 2007-08-14 at 11:12 +0200, Guido Serassio wrote: > At 18.43 13/08/2007, Alex Rousskov wrote: > >Is it a good idea to hate something you do not understand? :-) > > Alex, let me to explain my situation. > > Principally I'm an IT consultant working (busy at 110% of my time) on > Systems Administration and Systems Deployment, while I became a Squid > developer mainly for my personal hobby. > I have learned at university (more than 15 years ago ...) Assembler, > Fortran, C and Pascal, but never C++. or any similar language. > > I'm not a wizard of C language programming or a Squid guru like > Henrik, but I was always able to understand what a piece of code of > Squid 2 does. > Now I feel really frustrated when I can't understand why a single > line of code of Squid 3 doesn't build or why your patch works .... :-( > I have also tried to learn C++ by myself, but with little result > because I don't have enough time for the job. > > For a while I'm asking to me if is time to look for a new maintainer > of the Windows port of Squid 3, and today I'm thinking that probably > this time is gone ... :-(
I hope you can continue to maintain the Windows port. You can always offload solving C++ puzzles to others... The specific bug you hit is with the low-level streaming code that has always been very difficult to write and port correctly because C++ libraries implemented low-level streaming interfaces differently. In your case, GCC stdlibc++ has a default std::ostream constructor while your Windows library does not, causing the compiler error. The rest is just hacks to make the existing parameterized std::ostream constructor work. And if you continue to hate C++, just wait for Squid4 in Python :-). There will be no compile-time errors then, even if half of the code is missing! Alex.