Index: trunk/ntripclient/ntripclient.c
===================================================================
--- trunk/ntripclient/ntripclient.c	(revision 766)
+++ trunk/ntripclient/ntripclient.c	(revision 767)
@@ -1,5 +1,5 @@
 /*
   Easy example NTRIP client for POSIX.
-  $Id: ntripclient.c,v 1.39 2007/12/14 07:22:29 stoecker Exp $
+  $Id: ntripclient.c,v 1.40 2008/04/04 10:04:39 stoecker Exp $
   Copyright (C) 2003-2005 by Dirk Stoecker <soft@dstoecker.de>
     
@@ -57,6 +57,6 @@
 
 /* CVS revision and version */
-static char revisionstr[] = "$Revision: 1.39 $";
-static char datestr[]     = "$Date: 2007/12/14 07:22:29 $";
+static char revisionstr[] = "$Revision: 1.40 $";
+static char datestr[]     = "$Date: 2008/04/04 10:04:39 $";
 
 enum MODE { HTTP = 1, RTSP = 2, NTRIP1 = 3, AUTO = 4, END };
@@ -898,6 +898,8 @@
             if(!k)
             {
-              if(numbytes > 17 && (!strncmp(buf, "HTTP/1.1 200 OK\r\n", 17)
-              || !strncmp(buf, "HTTP/1.0 200 OK\r\n", 17)))
+              if( numbytes > 17 && 
+                 !strstr(buf, "ICY 200 OK")  &&  // case 'proxy & ntrip 1.0 caster'
+                 (!strncmp(buf, "HTTP/1.1 200 OK\r\n", 17) || 
+                  !strncmp(buf, "HTTP/1.0 200 OK\r\n", 17)) )
               {
                 const char *datacheck = "Content-Type: gnss/data\r\n";
@@ -925,5 +927,5 @@
                   chunkymode = 1;
 	      }
-              else if(numbytes < 12 || strncmp("ICY 200 OK\r\n", buf, 12))
+              else if(!strstr(buf, "ICY 200 OK"))
               {
                 fprintf(stderr, "Could not get the requested data: ");
