On Tue, 20 Nov 2001, Francois Gouget wrote: > Note that 'unistd.h' does not exist on Windows. So this Winelib app > is no longer portable and this is why you are having trouble. Do you > really need to log to syslog in a test application? Wouldn't it be > simpler to just write to stderr, or fprintf(log_file,...)'? Then > you can simply #include 'stdio.h' which will work with the winsock > headers and also compile on Windows.
I didn't say that very well, I guess. The program that wants unistd.h functions in my mail system as a linux sendmail. I don't really care if it is portable to windows, it only uses windows functions to manipulate storage objects. I guess it would have more mass appeal if I would port it to windows, but I don't know how. Does windows even have a sendmail? A home directory for each user? That just happened to be the program I picked to tinker with, which is how I found it doesn't compile anymore. Right, windows compatibility is enough of a challenge for the wine headers, I don't mean to give you more problems. What I like about winelib is you can use windows functions without being enslaved by that whole ugly API. :-) > > [...] > > Ok. The other reason why it does not work is that I did no realize > that 'unistd.h' was defining 'gethostname'. The reason for that being > that I tested the new headers with Wine and real Windows applications > that of course don't include 'unistd.h'. > I had a similar problem with 'stdlib.h' though. So you can look at > 'winsock.h' to see how I dealt with it. I am not sure whether it is > worth putting similar code in winsock.h for unistd.h: it would force us > to #include unistd.h in winsock.h which would pollute the namespace for > all Winelib application although no regular Windows application is > supposed to use that header. Probably not. I think if I want to use unix functions in winelib apps, I should be willing to dodge the namespace collisions. > You can also deal with unistd.h in your own application by doing: > > #define gethostname linux_gethostname > #include <unistd.h> > #undef gethostname > > And making sure that unistd.h is included before winsock.h. > That looks simple enough. I'll try that, I think. Thanks! > > > -- > Francois Gouget [EMAIL PROTECTED] http://fgouget.free.fr/ > f u kn rd ts, ur wy 2 gky 4 ur wn gd. > Lawson | We apologize if this message has reached you in error. | Save the Planet, Save the Trees! Advertise via E mail.