]> arthur.barton.de Git - netatalk.git/blobdiff - libatalk/dsi/dsi_opensess.c
Fix unnamed union inside struct
[netatalk.git] / libatalk / dsi / dsi_opensess.c
index e8818e6134bd81f5809a80e2b416284005cbbf72..2945f9b185f242de3a6a767f1c8d3a5e281ee38e 100644 (file)
@@ -1,6 +1,4 @@
 /*
- * $Id: dsi_opensess.c,v 1.4 2005-09-07 15:27:29 didg Exp $
- *
  * Copyright (c) 1997 Adrian Sun (asun@zoology.washington.edu)
  * All rights reserved. See COPYRIGHT.
  */
 #include <stdio.h>
 #include <string.h>
 #include <sys/types.h>
+#include <stdlib.h>
 
 #include <atalk/dsi.h>
+#include <atalk/util.h>
+#include <atalk/logger.h>
 
 /* OpenSession. set up the connection */
 void dsi_opensession(DSI *dsi)
 {
-  u_int32_t i = 0; /* this serves double duty. it must be 4-bytes long */
+  uint32_t i = 0; /* this serves double duty. it must be 4-bytes long */
   int offs;
 
+  if (setnonblock(dsi->socket, 1) < 0) {
+      LOG(log_error, logtype_dsi, "dsi_opensession: setnonblock: %s", strerror(errno));
+      AFP_PANIC("setnonblock error");
+  }
+
   /* parse options */
   while (i < dsi->cmdlen) {
     switch (dsi->commands[i++]) {
@@ -38,7 +44,7 @@ void dsi_opensession(DSI *dsi)
   /* let the client know the server quantum. we don't use the
    * max server quantum due to a bug in appleshare client 3.8.6. */
   dsi->header.dsi_flags = DSIFL_REPLY;
-  dsi->header.dsi_code = 0;
+  dsi->header.dsi_data.dsi_code = 0;
   /* dsi->header.dsi_command = DSIFUNC_OPEN;*/
 
   dsi->cmdlen = 2 * (2 + sizeof(i)); /* length of data. dsi_send uses it. */