Small improvements.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@21 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
sekelsenmat 2006-09-28 17:55:30 +00:00
parent 3b6cdb5bdc
commit cad97dd1d7
6 changed files with 67 additions and 94 deletions

View File

@ -41,6 +41,8 @@ interface
{$PACKRECORDS C} {$PACKRECORDS C}
{$endif} {$endif}
{$define Apache2_0}
uses uses
{$ifdef WINDOWS} {$ifdef WINDOWS}
Windows, winsock, Windows, winsock,

View File

@ -108,7 +108,7 @@ function apr_poll_setup(new_poll: PPapr_pollfd_t; num: apr_int32_t;
function apr_poll(aprset: Papr_pollfd_t; numsock: apr_int32_t; function apr_poll(aprset: Papr_pollfd_t; numsock: apr_int32_t;
nsds: Papr_int32_t; timeout: apr_interval_time_t): apr_status_t; nsds: Papr_int32_t; timeout: apr_interval_time_t): apr_status_t;
{$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
external LibAPR name LibNamePrefix + 'apr_poll' + LibSuff16; external LibAPR name LibNamePrefix + 'apr_poll' + LibSuff20;
{ {
* Add a socket to the poll structure. * Add a socket to the poll structure.
@ -255,5 +255,5 @@ function apr_pollset_remove(pollset: Papr_pollset_t;
function apr_pollset_poll(pollset: Papr_pollset_t; timeout: apr_interval_time_t; function apr_pollset_poll(pollset: Papr_pollset_t; timeout: apr_interval_time_t;
num: Papr_int32_t; const descriptors: PPapr_pollfd_t): apr_status_t; num: Papr_int32_t; const descriptors: PPapr_pollfd_t): apr_status_t;
{$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF} {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
external LibAPR name LibNamePrefix + 'apr_pollset_poll' + LibSuff16; external LibAPR name LibNamePrefix + 'apr_pollset_poll' + LibSuff20;

View File

@ -39,6 +39,8 @@ unit httpd;
{$PACKRECORDS C} {$PACKRECORDS C}
{$endif} {$endif}
{$define Apache2_0}
interface interface
uses uses

View File

@ -39,6 +39,8 @@ unit httpd;
{$PACKRECORDS C} {$PACKRECORDS C}
{$endif} {$endif}
{$define Apache2_2}
interface interface
uses uses

View File

@ -7,7 +7,7 @@
<MainUnit Value="0"/> <MainUnit Value="0"/>
<IconPath Value="./"/> <IconPath Value="./"/>
<TargetFileExt Value=".exe"/> <TargetFileExt Value=".exe"/>
<ActiveEditorIndexAtStart Value="3"/> <ActiveEditorIndexAtStart Value="0"/>
</General> </General>
<VersionInfo> <VersionInfo>
<UseVersionInfo Value="False"/> <UseVersionInfo Value="False"/>
@ -41,15 +41,15 @@
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/> <LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
</local> </local>
</RunParams> </RunParams>
<Units Count="103"> <Units Count="105">
<Unit0> <Unit0>
<Filename Value="mod_hello.lpr"/> <Filename Value="mod_hello.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="mod_hello"/> <UnitName Value="mod_hello"/>
<CursorPos X="45" Y="20"/> <CursorPos X="1" Y="19"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<EditorIndex Value="0"/> <EditorIndex Value="0"/>
<UsageCount Value="54"/> <UsageCount Value="55"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
@ -97,11 +97,10 @@
</Unit7> </Unit7>
<Unit8> <Unit8>
<Filename Value="httpd_2_0\httpd.pas"/> <Filename Value="httpd_2_0\httpd.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="httpd"/> <UnitName Value="httpd"/>
<CursorPos X="8" Y="163"/> <CursorPos X="12" Y="31"/>
<TopLine Value="133"/> <TopLine Value="22"/>
<UsageCount Value="53"/> <UsageCount Value="54"/>
</Unit8> </Unit8>
<Unit9> <Unit9>
<Filename Value="httpd_2_0\apr\apr_network_io.inc"/> <Filename Value="httpd_2_0\apr\apr_network_io.inc"/>
@ -112,9 +111,9 @@
<Unit10> <Unit10>
<Filename Value="httpd_2_0\apr\apr.pas"/> <Filename Value="httpd_2_0\apr\apr.pas"/>
<UnitName Value="apr"/> <UnitName Value="apr"/>
<CursorPos X="1" Y="97"/> <CursorPos X="8" Y="177"/>
<TopLine Value="74"/> <TopLine Value="170"/>
<UsageCount Value="9"/> <UsageCount Value="10"/>
</Unit10> </Unit10>
<Unit11> <Unit11>
<Filename Value="..\httpd-2.0.58\srclib\apr\include\apr_network_io.h"/> <Filename Value="..\httpd-2.0.58\srclib\apr\include\apr_network_io.h"/>
@ -329,11 +328,9 @@
<Unit44> <Unit44>
<Filename Value="httpd_2_2\httpd.pas"/> <Filename Value="httpd_2_2\httpd.pas"/>
<UnitName Value="httpd"/> <UnitName Value="httpd"/>
<CursorPos X="8" Y="50"/> <CursorPos X="11" Y="46"/>
<TopLine Value="32"/> <TopLine Value="42"/>
<EditorIndex Value="12"/>
<UsageCount Value="20"/> <UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit44> </Unit44>
<Unit45> <Unit45>
<Filename Value="httpd_2_2\http_log.inc"/> <Filename Value="httpd_2_2\http_log.inc"/>
@ -355,20 +352,16 @@
</Unit47> </Unit47>
<Unit48> <Unit48>
<Filename Value="httpd_2_2\apr\apr_network_io.inc"/> <Filename Value="httpd_2_2\apr\apr_network_io.inc"/>
<CursorPos X="55" Y="830"/> <CursorPos X="26" Y="817"/>
<TopLine Value="814"/> <TopLine Value="814"/>
<EditorIndex Value="9"/>
<UsageCount Value="14"/> <UsageCount Value="14"/>
<Loaded Value="True"/>
</Unit48> </Unit48>
<Unit49> <Unit49>
<Filename Value="httpd_2_2\apr\apr.pas"/> <Filename Value="httpd_2_2\apr\apr.pas"/>
<UnitName Value="apr"/> <UnitName Value="apr"/>
<CursorPos X="16" Y="179"/> <CursorPos X="25" Y="171"/>
<TopLine Value="169"/> <TopLine Value="169"/>
<EditorIndex Value="1"/>
<UsageCount Value="14"/> <UsageCount Value="14"/>
<Loaded Value="True"/>
</Unit49> </Unit49>
<Unit50> <Unit50>
<Filename Value="..\..\httpd-2.2.3\srclib\apr\include\apr_ring.h"/> <Filename Value="..\..\httpd-2.2.3\srclib\apr\include\apr_ring.h"/>
@ -386,11 +379,9 @@
</Unit51> </Unit51>
<Unit52> <Unit52>
<Filename Value="httpd_2_2\apr\apr_poll.inc"/> <Filename Value="httpd_2_2\apr\apr_poll.inc"/>
<CursorPos X="2" Y="119"/> <CursorPos X="19" Y="5"/>
<TopLine Value="108"/> <TopLine Value="1"/>
<EditorIndex Value="3"/>
<UsageCount Value="17"/> <UsageCount Value="17"/>
<Loaded Value="True"/>
</Unit52> </Unit52>
<Unit53> <Unit53>
<Filename Value="..\..\httpd-2.0.58\include\http_config.h"/> <Filename Value="..\..\httpd-2.0.58\include\http_config.h"/>
@ -464,11 +455,9 @@
</Unit63> </Unit63>
<Unit64> <Unit64>
<Filename Value="httpd_2_2\http_core.inc"/> <Filename Value="httpd_2_2\http_core.inc"/>
<CursorPos X="15" Y="18"/> <CursorPos X="31" Y="10"/>
<TopLine Value="3"/> <TopLine Value="3"/>
<EditorIndex Value="2"/>
<UsageCount Value="14"/> <UsageCount Value="14"/>
<Loaded Value="True"/>
</Unit64> </Unit64>
<Unit65> <Unit65>
<Filename Value="httpd_2_2\ap_config.inc"/> <Filename Value="httpd_2_2\ap_config.inc"/>
@ -550,11 +539,9 @@
</Unit77> </Unit77>
<Unit78> <Unit78>
<Filename Value="httpd_2_2\apr\apr_allocator.inc"/> <Filename Value="httpd_2_2\apr\apr_allocator.inc"/>
<CursorPos X="1" Y="144"/> <CursorPos X="22" Y="135"/>
<TopLine Value="130"/> <TopLine Value="130"/>
<EditorIndex Value="7"/>
<UsageCount Value="16"/> <UsageCount Value="16"/>
<Loaded Value="True"/>
</Unit78> </Unit78>
<Unit79> <Unit79>
<Filename Value="httpd_2_2\apr\apr_hash.inc"/> <Filename Value="httpd_2_2\apr\apr_hash.inc"/>
@ -570,19 +557,15 @@
</Unit80> </Unit80>
<Unit81> <Unit81>
<Filename Value="httpd_2_2\apr\apr_file_io.inc"/> <Filename Value="httpd_2_2\apr\apr_file_io.inc"/>
<CursorPos X="73" Y="582"/> <CursorPos X="28" Y="567"/>
<TopLine Value="564"/> <TopLine Value="564"/>
<EditorIndex Value="11"/>
<UsageCount Value="15"/> <UsageCount Value="15"/>
<Loaded Value="True"/>
</Unit81> </Unit81>
<Unit82> <Unit82>
<Filename Value="httpd_2_2\apr\apr_pools.inc"/> <Filename Value="httpd_2_2\apr\apr_pools.inc"/>
<CursorPos X="17" Y="126"/> <CursorPos X="8" Y="123"/>
<TopLine Value="121"/> <TopLine Value="121"/>
<EditorIndex Value="4"/>
<UsageCount Value="15"/> <UsageCount Value="15"/>
<Loaded Value="True"/>
</Unit82> </Unit82>
<Unit83> <Unit83>
<Filename Value="httpd_2_2\apr\apr_tables.inc"/> <Filename Value="httpd_2_2\apr\apr_tables.inc"/>
@ -640,11 +623,9 @@
</Unit91> </Unit91>
<Unit92> <Unit92>
<Filename Value="httpd_2_2\apr\apr_version.inc"/> <Filename Value="httpd_2_2\apr\apr_version.inc"/>
<CursorPos X="13" Y="83"/> <CursorPos X="8" Y="112"/>
<TopLine Value="109"/> <TopLine Value="109"/>
<EditorIndex Value="5"/>
<UsageCount Value="14"/> <UsageCount Value="14"/>
<Loaded Value="True"/>
</Unit92> </Unit92>
<Unit93> <Unit93>
<Filename Value="httpd_2_2\apr\apr_strings.inc"/> <Filename Value="httpd_2_2\apr\apr_strings.inc"/>
@ -672,20 +653,16 @@
</Unit96> </Unit96>
<Unit97> <Unit97>
<Filename Value="httpd_2_2\aprutil\apr_xml.inc"/> <Filename Value="httpd_2_2\aprutil\apr_xml.inc"/>
<CursorPos X="1" Y="365"/> <CursorPos X="24" Y="338"/>
<TopLine Value="335"/> <TopLine Value="335"/>
<EditorIndex Value="8"/>
<UsageCount Value="12"/> <UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit97> </Unit97>
<Unit98> <Unit98>
<Filename Value="httpd_2_2\apriconv\apriconv.pas"/> <Filename Value="httpd_2_2\apriconv\apriconv.pas"/>
<UnitName Value="apriconv"/> <UnitName Value="apriconv"/>
<CursorPos X="15" Y="54"/> <CursorPos X="28" Y="30"/>
<TopLine Value="27"/> <TopLine Value="27"/>
<EditorIndex Value="10"/>
<UsageCount Value="12"/> <UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit98> </Unit98>
<Unit99> <Unit99>
<Filename Value="httpd_2_2\apriconv\apr_iconv.inc"/> <Filename Value="httpd_2_2\apriconv\apr_iconv.inc"/>
@ -701,11 +678,9 @@
</Unit100> </Unit100>
<Unit101> <Unit101>
<Filename Value="httpd_2_2\apr\apr_buckets.inc"/> <Filename Value="httpd_2_2\apr\apr_buckets.inc"/>
<CursorPos X="1" Y="1"/> <CursorPos X="18" Y="9"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<EditorIndex Value="6"/>
<UsageCount Value="12"/> <UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit101> </Unit101>
<Unit102> <Unit102>
<Filename Value="httpd_2_2\apr/apr_hash.inc"/> <Filename Value="httpd_2_2\apr/apr_hash.inc"/>
@ -713,60 +688,54 @@
<TopLine Value="46"/> <TopLine Value="46"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit102> </Unit102>
<Unit103>
<Filename Value="httpd_2_0\apr\apr_file_io.inc"/>
<CursorPos X="14" Y="528"/>
<TopLine Value="525"/>
<UsageCount Value="10"/>
</Unit103>
<Unit104>
<Filename Value="httpd_2_0\apr\apr_poll.inc"/>
<CursorPos X="1" Y="229"/>
<TopLine Value="229"/>
<EditorIndex Value="1"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit104>
</Units> </Units>
<JumpHistory Count="13" HistoryIndex="12"> <JumpHistory Count="8" HistoryIndex="7">
<Position1> <Position1>
<Filename Value="httpd_2_2\apr\apr.pas"/> <Filename Value="mod_hello.lpr"/>
<Caret Line="177" Column="16" TopLine="169"/> <Caret Line="121" Column="1" TopLine="112"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="httpd_2_2\apr\apr.pas"/> <Filename Value="mod_hello.lpr"/>
<Caret Line="195" Column="16" TopLine="169"/> <Caret Line="24" Column="1" TopLine="1"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="httpd_2_2\apr\apr_poll.inc"/> <Filename Value="mod_hello.lpr"/>
<Caret Line="112" Column="32" TopLine="97"/> <Caret Line="116" Column="1" TopLine="96"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="httpd_2_2\apr\apr_poll.inc"/> <Filename Value="mod_hello.lpr"/>
<Caret Line="36" Column="10" TopLine="19"/> <Caret Line="53" Column="18" TopLine="34"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="httpd_2_2\apr\apr_poll.inc"/> <Filename Value="mod_hello.lpr"/>
<Caret Line="103" Column="65" TopLine="88"/> <Caret Line="20" Column="14" TopLine="20"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="httpd_2_2\apr\apr_poll.inc"/> <Filename Value="mod_hello.lpr"/>
<Caret Line="127" Column="56" TopLine="112"/> <Caret Line="17" Column="1" TopLine="5"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="httpd_2_2\apr\apr_poll.inc"/> <Filename Value="mod_hello.lpr"/>
<Caret Line="129" Column="67" TopLine="114"/> <Caret Line="20" Column="19" TopLine="2"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="httpd_2_2\apr\apr_poll.inc"/> <Filename Value="httpd_2_0\apr\apr_poll.inc"/>
<Caret Line="131" Column="67" TopLine="116"/> <Caret Line="234" Column="3" TopLine="229"/>
</Position8> </Position8>
<Position9>
<Filename Value="httpd_2_2\apr\apr_poll.inc"/>
<Caret Line="148" Column="67" TopLine="133"/>
</Position9>
<Position10>
<Filename Value="httpd_2_2\apr\apr_poll.inc"/>
<Caret Line="150" Column="67" TopLine="135"/>
</Position10>
<Position11>
<Filename Value="httpd_2_2\apr\apr_poll.inc"/>
<Caret Line="169" Column="27" TopLine="154"/>
</Position11>
<Position12>
<Filename Value="httpd_2_2\http_core.inc"/>
<Caret Line="15" Column="1" TopLine="1"/>
</Position12>
<Position13>
<Filename Value="httpd_2_2\http_core.inc"/>
<Caret Line="18" Column="15" TopLine="3"/>
</Position13>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>

View File

@ -17,11 +17,10 @@ library mod_hello;
{$define Apache2_0} {$define Apache2_0}
uses SysUtils, httpd {$ifndef Apache1_3}, apr{$endif}; uses SysUtils, httpd, {$ifndef Apache1_3} apr{$endif};
var var
test_module: module; {$ifdef Unix} public name 'test_module'; {$endif} test_module: module; {$ifdef Unix} public name 'test_module'; {$endif}
default_module_ptr: Pmodule;
const const
MODULE_NAME = 'mod_hello.so'; MODULE_NAME = 'mod_hello.so';
@ -58,7 +57,7 @@ begin
{ We set the content type before doing anything else } { We set the content type before doing anything else }
{$ifdef Apache1_3} {$ifdef Apache1_3}
r^.content_type := 'text/html'; r^.content_type := 'text/html';
// ap_send_http_header(r); ap_send_http_header(r);
{$else} {$else}
ap_set_content_type(r, 'text/html'); ap_set_content_type(r, 'text/html');
{$endif} {$endif}
@ -82,7 +81,7 @@ begin
ap_rputs('<BODY BGCOLOR="#FFFFFF">' + LineEnding ,r); ap_rputs('<BODY BGCOLOR="#FFFFFF">' + LineEnding ,r);
ap_rputs('<H1>Hello world</H1>' + LineEnding, r); ap_rputs('<H1>Hello world</H1>' + LineEnding, r);
ap_rputs('This is the first Apache Module working with the new binding from Free Pascal' + LineEnding, r); ap_rputs('This is the first Apache Module working with the new binding from Free Pascal' + LineEnding, r);
// ap_rprintf(r, '<br>A sample line generated by ap_rprintf<br>' + LineEnding, []); ap_rprintf(r, '<br>A sample line generated by ap_rprintf<br>' + LineEnding, []);
ap_rputs('</BODY></HTML>' + LineEnding, r); ap_rputs('</BODY></HTML>' + LineEnding, r);
{ We can either return OK or DECLINED at this point. If we return { We can either return OK or DECLINED at this point. If we return
@ -118,8 +117,7 @@ end;
* Library initialization code * Library initialization code
*******************************************************************} *******************************************************************}
begin begin
default_module_ptr := @test_module; FillChar(test_module, SizeOf(test_module), 0);
FillChar(default_module_ptr^, SizeOf(default_module_ptr^), 0);
{$ifdef apache1_3} {$ifdef apache1_3}
STANDARD_MODULE_STUFF(test_module); STANDARD_MODULE_STUFF(test_module);