Index: trunk/zoo-project/LICENSE
===================================================================
--- trunk/zoo-project/LICENSE	(revision 475)
+++ trunk/zoo-project/LICENSE	(revision 476)
@@ -130,12 +130,22 @@
 --------------------
 
-Copyright Kevlin Henney, 1997, 2003. All rights reserved.
+Copyright (C) 2006 Toni Ronkko
 
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose is hereby granted without fee, provided
-that this copyright and permissions notice appear in all copies and
-derivatives.
-    
-This software is supplied "as is" without express or implied warranty.
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+``Software''), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
 
-But that said, if there are any problems please get in touch.
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL TONI RONKKO BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
Index: trunk/zoo-project/zoo-kernel/makefile.vc
===================================================================
--- trunk/zoo-project/zoo-kernel/makefile.vc	(revision 475)
+++ trunk/zoo-project/zoo-kernel/makefile.vc	(revision 476)
@@ -68,12 +68,9 @@
 	$(CPP) /EHsc /c $(CFLAGS) zoo_loader.c
 
-dirent.obj:
-	$(CPP) /EHsc /c $(CFLAGS) ..\..\thirds\dirent-win32\dirent.c
+zoo_loader.cgi: version.h zoo_loader.obj zoo_service_loader.obj service_internal.obj $(PY_FILE) $(JAVA_FILE) $(MS_FILE) $(JS_FILE) $(RUBY_FILE) ulinet.obj lex.cr.obj lex.sr.obj service_conf.tab.obj main_conf_read.tab.obj
+	link zoo_loader.obj service_internal.obj $(PY_FILE) $(JAVA_FILE) $(MS_FILE) $(JS_FILE) $(RUBY_FILE) ulinet.obj main_conf_read.tab.obj lex.cr.obj service_conf.tab.obj lex.sr.obj  zoo_service_loader.obj /out:zoo_loader.cgi $(LDFLAGS) $(LDFLAGSCGI)
 
-zoo_loader.cgi: version.h zoo_loader.obj zoo_service_loader.obj service_internal.obj $(PY_FILE) $(JAVA_FILE) $(MS_FILE) $(JS_FILE) $(RUBY_FILE) ulinet.obj lex.cr.obj lex.sr.obj service_conf.tab.obj main_conf_read.tab.obj dirent.obj
-	link zoo_loader.obj dirent.obj service_internal.obj $(PY_FILE) $(JAVA_FILE) $(MS_FILE) $(JS_FILE) $(RUBY_FILE) ulinet.obj main_conf_read.tab.obj lex.cr.obj service_conf.tab.obj lex.sr.obj  zoo_service_loader.obj /out:zoo_loader.cgi $(LDFLAGS) $(LDFLAGSCGI)
-
-zcfg2yaml.exe: version.h zcfg2yaml.obj zoo_service_loader.obj service_internal.obj $(PY_FILE) $(JAVA_FILE) $(MS_FILE) $(JS_FILE) $(RUBY_FILE) ulinet.obj lex.cr.obj lex.sr.obj service_conf.tab.obj main_conf_read.tab.obj dirent.obj
-	link zcfg2yaml.obj dirent.obj service_internal.obj $(PY_FILE) $(JAVA_FILE) $(MS_FILE) $(JS_FILE) $(RUBY_FILE) ulinet.obj main_conf_read.tab.obj lex.cr.obj service_conf.tab.obj lex.sr.obj /out:zcfg2yaml.exe $(LDFLAGS) $(LDFLAGSCGI)
+zcfg2yaml.exe: version.h zcfg2yaml.obj zoo_service_loader.obj service_internal.obj $(PY_FILE) $(JAVA_FILE) $(MS_FILE) $(JS_FILE) $(RUBY_FILE) ulinet.obj lex.cr.obj lex.sr.obj service_conf.tab.obj main_conf_read.tab.obj
+	link zcfg2yaml.obj service_internal.obj $(PY_FILE) $(JAVA_FILE) $(MS_FILE) $(JS_FILE) $(RUBY_FILE) ulinet.obj main_conf_read.tab.obj lex.cr.obj service_conf.tab.obj lex.sr.obj /out:zcfg2yaml.exe $(LDFLAGS) $(LDFLAGSCGI)
 
 clean:
Index: trunk/zoo-project/zoo-kernel/service_conf.l
===================================================================
--- trunk/zoo-project/zoo-kernel/service_conf.l	(revision 475)
+++ trunk/zoo-project/zoo-kernel/service_conf.l	(revision 476)
@@ -118,5 +118,5 @@
 
 
-<INITIAL,DANSBALISE,HORSBALISE>.|\n	{lmsg=(char*)malloc(1024*sizeof(char));sprintf(lmsg,"error: line %d: character not allowed '%s'",srlineno,yytext);fprintf(stderr,"%s \n",lmsg);srlval.chaine=lmsg;return -1;}
+<INITIAL,DANSBALISE,HORSBALISE>.|\n	{lmsg=(char*)malloc(1024*sizeof(char));sprintf(lmsg,"error: line %d: character not allowed '%s'",srlineno,yytext);fprintf(stderr,"%s \n",lmsg);srlval.chaine=lmsg;fprintf(stderr,"%s \n",lmsg);return -1;}
 
 %%
Index: trunk/zoo-project/zoo-kernel/service_conf.y
===================================================================
--- trunk/zoo-project/zoo-kernel/service_conf.y	(revision 475)
+++ trunk/zoo-project/zoo-kernel/service_conf.y	(revision 476)
@@ -807,5 +807,6 @@
 
   int resultatYYParse = srparse() ;
-  
+  fprintf(stderr,"%s %d %d\n",__FILE__,__LINE__,resultatYYParse);
+
 #ifdef DEBUG_SERVICE_CONF
   fprintf(stderr,"RESULT: %d %d\n",resultatYYParse,wait_outputs);
@@ -825,4 +826,5 @@
       addToElements(&my_service->outputs,current_element);
     }
+  fprintf(stderr,"%s %d\n",__FILE__,__LINE__);
 #ifdef DEBUG_SERVICE_CONF
     fprintf(stderr,"(DATAOUTPUTS - %d) FREE current_element\n",__LINE__);
@@ -835,4 +837,5 @@
 #endif
   }
+  fprintf(stderr,"%s %d\n",__FILE__,__LINE__);
   if(current_element!=NULL){
     freeElements(&current_element);
@@ -840,4 +843,5 @@
     current_element=NULL;
   }
+  fprintf(stderr,"%s %d\n",__FILE__,__LINE__);
   if(current_content!=NULL){
     freeMap(&current_content);
@@ -845,4 +849,5 @@
     current_content=NULL;
   }
+  fprintf(stderr,"%s %d\n",__FILE__,__LINE__);
   fclose(srin);
 #ifdef DEBUG_SERVICE_CONF
@@ -850,5 +855,7 @@
 #endif
   if(wait_outputs<0 || my_service==NULL || my_service->name==NULL || my_service->content==NULL || my_service->outputs==NULL){
+    fprintf(stderr,"%s %d\n",__FILE__,__LINE__);
     setMapInMaps(conf,"lenv","message",srlval.chaine);
+    dumpMaps(conf);
 #ifndef WIN32
     srlex_destroy();
@@ -858,4 +865,6 @@
   else
     *service=my_service;
+  dumpService(my_service);
+  fprintf(stderr,"%s %d\n",__FILE__,__LINE__);
 
 #ifndef WIN32
Index: trunk/zoo-project/zoo-kernel/service_internal.c
===================================================================
--- trunk/zoo-project/zoo-kernel/service_internal.c	(revision 475)
+++ trunk/zoo-project/zoo-kernel/service_internal.c	(revision 476)
@@ -68,4 +68,5 @@
 
 #include <windows.h>
+#include <fcgi_stdio.h>
 #include <stdio.h>
 #include <conio.h>
@@ -1154,12 +1155,22 @@
 	    xmlAddChild(nc6,nc8);
 	    _tmp0=e->supported;
-	    tmp1=_tmp0->content;
-	    goto doRange;
+	    if(getMap(_tmp0->content,"range")!=NULL ||
+	       getMap(_tmp0->content,"rangeMin")!=NULL ||
+	       getMap(_tmp0->content,"rangeMax")!=NULL ||
+	       getMap(_tmp0->content,"rangeClosure")!=NULL ){
+	      tmp1=_tmp0->content;
+	      goto doRange;
+	    }
 	  }else{
 	    _tmp0=_tmp0->next;
 	    if(_tmp0!=NULL){
 	      xmlAddChild(nc6,nc8);
-	      tmp1=_tmp0->content;
-	      goto doRange;
+	      if(getMap(_tmp0->content,"range")!=NULL ||
+		 getMap(_tmp0->content,"rangeMin")!=NULL ||
+		 getMap(_tmp0->content,"rangeMax")!=NULL ||
+		 getMap(_tmp0->content,"rangeClosure")!=NULL ){
+		tmp1=_tmp0->content;
+		goto doRange;
+	      }
 	    }
 	  }
Index: trunk/zoo-project/zoo-kernel/service_internal.h
===================================================================
--- trunk/zoo-project/zoo-kernel/service_internal.h	(revision 475)
+++ trunk/zoo-project/zoo-kernel/service_internal.h	(revision 476)
@@ -31,5 +31,5 @@
 #define TIME_SIZE 40
 
-#include "fcgi_stdio.h"
+#include "cgic.h"
 #include <libintl.h>
 #include <locale.h>
@@ -39,5 +39,4 @@
 #include <sys/stat.h>
 #include <sys/types.h>
-#include "cgic.h"
 #ifndef WIN32
 #include <sys/ipc.h>
