Commit 9c695393 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

edited the portable code section

parent 444024ea
Loading
Loading
Loading
Loading
+12 −9
Original line number Diff line number Diff line
@@ -36,22 +36,25 @@ Windows vs Unix
 the Windows way. The four perhaps most notable details are:

 1. Different function names for close(), read(), write()

   In curl, this is solved with defines and macros, so that the source looks
   the same at all places except for the header file that defines them.

 2. Windows requires a couple of init calls for the socket stuff

   Those must be made by the application that uses libcurl, in curl that means
   src/main.c has some code #ifdef'ed to do just that.

 3. The file descriptors for network communication and file operations are
    not easily interchangable as in unix

   We avoid this by not trying any funny tricks on file descriptors.

 4. When writing data to stdout, Windows makes end-of-lines the DOS way, thus
    destroying binary data, although you do want that conversion if it is
    text coming through... (sigh)

 In curl, (1) is made with defines and macros, so that the source looks the
 same at all places except for the header file that defines them.

 (2) must be made by the application that uses libcurl, in curl that means
 src/main.c has some code #ifdef'ed to do just that.

 (3) is simply avoided by not trying any funny tricks on file descriptors.

 (4) we set stdout to binary under windows
   We set stdout to binary under windows

 Inside the source code, I do make an effort to avoid '#ifdef WIN32'. All
 conditionals that deal with features *should* instead be in the format