Branch: Tag:

2000-06-23

2000-06-23 16:11:20 by Martin Stjernholm <mast@lysator.liu.se>

Fixed proper propagation of the internal_get flag wrt MODULE_LAST
modules like path_info.

Rev: server/base_server/configuration.pike:1.312

3:   //   // German translation by Kai Voigt    - constant cvs_version = "$Id: configuration.pike,v 1.311 2000/06/19 12:44:51 grubba Exp $"; + constant cvs_version = "$Id: configuration.pike,v 1.312 2000/06/23 16:11:20 mast Exp $";   constant is_configuration = 1;   #include <module.h>   #include <roxen.h>
1783:         // this is not as trivial as it sounds. Consider gtext. :-) - public array open_file(string fname, string mode, RequestID id) + public array open_file(string fname, string mode, RequestID id, void|int internal_get)   {    object oc = id->conf;    string oq = id->not_query;
1797:    break;    else if(id->conf != oc)    { -  return open_file(fname, mode,id); +  return open_file(fname, mode,id, internal_get);    }    fname = id->not_query;   
1817:    {    if(!file)    { -  file = oc->get_file( id ); +  file = oc->get_file( id, 0, internal_get );    if(!file) {    foreach(oc->last_modules(), funp) if(file = funp( id ))    break;    if (file == 1) {    // Recurse. -  return open_file(id->not_query, mode, id); +  return open_file(id->not_query, mode, id, internal_get);    }    }    }
2079:    fake_id = id->clone_me();       fake_id->misc->common = id->misc->common; +  fake_id->misc->internal_get = !not_internal;       s = Roxen.fix_relative (s, id);   
2103:    if(!(m = get_file(fake_id,0,!not_internal))) {    // Might be a PATH_INFO type URL.    m_delete (fake_id->misc, "path_info"); -  array a = open_file( s, "r", fake_id ); +  array a = open_file( s, "r", fake_id, !not_internal );    if(a && a[0]) {    m = a[1];    m->file = a[0];