+//
+// serv_get_n() -- generic function to read a binary blob from the server
+//
+function serv_get_n($nBytes) {
+ global $clientsocket;
+
+ if (CITADEL_DEBUG_CITPROTO == 1) {
+ printf ("<div class='ctdldbgRead'>\n");
+ printf("reading ".$nBytes." bytes from server\n");
+ printf ("</div>\n");
+ }
+ $i = 0;
+ $buf = "";
+ $nRead = 0;
+// while ($nRead < $nBytes)
+ {
+ $buf = fread($clientsocket, $nBytes);
+// $buf.=fgetc($clientsocket) | die ("fgetc failed");
+// $buf .= serv_gets(TRUE);
+// $tbuf = fgets($clientsocket, $nBytes - $nRead);
+ if (CITADEL_DEBUG_CITPROTO == 1) {
+ if (!$buf) printf ("<div class='ctdldbgRead'>\n");
+ printf($buf);
+ if (!$buf) printf ("</div>\n");
+ else printf ("<br>\n");
+ }
+// $buf .= $tbuf;
+// $nRead = strlen ($buf);
+
+ }
+
+ //$buf = fread($clientsocket, $nBytes) | die ("fread failed"); // Read line
+ if (CITADEL_DEBUG_CITPROTO == 1) {
+ printf ("<div class='ctdldbgRead'>\n");
+ printf($buf);
+ printf ("</div>\n");
+ }
+ print_r($buf);
+ return $buf;
+}
+