Author: sginsberg
Date: Sat Aug 15 18:40:51 2009
New Revision: 42709
URL:
http://svn.reactos.org/svn/reactos?rev=42709&view=rev
Log:
- Convert tditest to PSEH instead of a broken MSVC SEH attempt
- Teach man how to use "subroutines"
Modified:
trunk/rosapps/applications/net/tditest/tditest/tditest.c
trunk/rosapps/applications/sysutils/man/man.c
Modified: trunk/rosapps/applications/net/tditest/tditest/tditest.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/net/tditest/t…
==============================================================================
--- trunk/rosapps/applications/net/tditest/tditest/tditest.c [iso-8859-1] (original)
+++ trunk/rosapps/applications/net/tditest/tditest/tditest.c [iso-8859-1] Sat Aug 15
18:40:51 2009
@@ -10,6 +10,7 @@
* 26-Nov-2003 Vizzini Updated to run properly on Win2ksp4
*/
#include <tditest.h>
+#include <pseh/pseh2.h>
#if DBG
@@ -544,22 +545,18 @@
return STATUS_INSUFFICIENT_RESOURCES;
}
-#ifdef _MSC_VER
- try
- {
-#endif
- MmProbeAndLockPages(Mdl, KernelMode, IoModifyAccess);
-#ifdef _MSC_VER
- }
- except(EXCEPTION_EXECUTE_HANDLER)
- {
- TDI_DbgPrint(MIN_TRACE, ("MmProbeAndLockPages() failed.\n"));
- IoFreeMdl(Mdl);
- IoFreeIrp(Irp);
- ExFreePool(ConnectInfo);
- return STATUS_UNSUCCESSFUL;
- }
-#endif
+ _SEH2_TRY
+ {
+ MmProbeAndLockPages(Mdl, KernelMode, IoModifyAccess);
+ }
+ _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
+ {
+ TDI_DbgPrint(MIN_TRACE, ("MmProbeAndLockPages() failed.\n"));
+ IoFreeMdl(Mdl);
+ IoFreeIrp(Irp);
+ ExFreePool(ConnectInfo);
+ return STATUS_UNSUCCESSFUL;
+ } _SEH2_END;
TdiBuildSendDatagram(
Irp, /* I/O Request Packet */
@@ -675,23 +672,19 @@
return STATUS_INSUFFICIENT_RESOURCES;
}
-#ifdef _MSC_VER
- try
- {
-#endif
- MmProbeAndLockPages(Mdl, KernelMode, IoModifyAccess);
-#ifdef _MSC_VER
- }
- except (EXCEPTION_EXECUTE_HANDLER)
- {
- TDI_DbgPrint(MIN_TRACE, ("MmProbeAndLockPages() failed.\n"));
- IoFreeMdl(Mdl);
- IoFreeIrp(Irp);
- ExFreePool(MdlBuffer);
- ExFreePool(ReceiveInfo);
- return STATUS_INSUFFICIENT_RESOURCES;
- }
-#endif
+ _SEH2_TRY
+ {
+ MmProbeAndLockPages(Mdl, KernelMode, IoModifyAccess);
+ }
+ _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
+ {
+ TDI_DbgPrint(MIN_TRACE, ("MmProbeAndLockPages() failed.\n"));
+ IoFreeMdl(Mdl);
+ IoFreeIrp(Irp);
+ ExFreePool(MdlBuffer);
+ ExFreePool(ReceiveInfo);
+ return STATUS_INSUFFICIENT_RESOURCES;
+ } _SEH2_END;
TdiBuildReceiveDatagram(
Irp, /* I/O Request Packet */
Modified: trunk/rosapps/applications/sysutils/man/man.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/sysutils/man/…
==============================================================================
--- trunk/rosapps/applications/sysutils/man/man.c [iso-8859-1] (original)
+++ trunk/rosapps/applications/sysutils/man/man.c [iso-8859-1] Sat Aug 15 18:40:51 2009
@@ -119,48 +119,51 @@
return element;
}
-int
-AnalyzeFile()
-{
- char *cur_string=(char*)malloc(sizeof(char)*MAXLINE);
+void sh_outp(char *cur_string)
+{
+ int symbol;
+ putchar('\n');
+ putchar('\n');
+ for(symbol=3;putchar(cur_string[symbol]); symbol++);
+}
+
+void th_outp(char *cur_string, char *THtag)
+{
+ int symbol;
+ putchar('\n');
+ putchar('\n');
+ putchar('\t');
+ putchar('\t');
+ SetCl(ITALIC);
+ for(symbol=3;putchar(THtag[symbol]); symbol++);
+ putchar('\n');
+ SetCl(NORMAL);
+}
+
+void text_outp(char *cur_string)
+{
+ char TagFlag=0;
int symbol=0;
- char *THtag=(char*)malloc(sizeof(char)*MAXLINE);
-
-
- void sh_outp(void)
- {
- putchar('\n');
- putchar('\n');
- for(symbol=3;putchar(cur_string[symbol]); symbol++);
- }
-
- void th_outp(void)
- {
- putchar('\n');
- putchar('\n');
- putchar('\t');
- putchar('\t');
- SetCl(ITALIC);
- for(symbol=3;putchar(THtag[symbol]); symbol++);
- putchar('\n');
- SetCl(NORMAL);
- }
-
- void text_outp(void)
- {
- char TagFlag=0;
- symbol=0;
-
- if(cur_string[0]=='.')
- while(cur_string[symbol]!=' ')
- symbol++;
-
- if(symbol) TagFlag=1;
-
- for(;cur_string[symbol]!='\n'; symbol++)
+
+ if(cur_string[0]=='.')
+ while(cur_string[symbol]!=' ')
+ symbol++;
+
+ if(symbol) TagFlag=1;
+
+ for(;cur_string[symbol]!='\n'; symbol++)
putchar(cur_string[symbol]);
putchar(' ');
- }
+}
+
+int
+AnalyzeFile()
+{
+ char *cur_string=(char*)malloc(sizeof(char)*MAXLINE);
+ char *THtag=(char*)malloc(sizeof(char)*MAXLINE);
+
+
+
while(fgets(cur_string,MAXLINE,manfile))
@@ -169,7 +172,7 @@
(cur_string[2]=='H')) // .SH tag
{
SetCl(BOLD);
- sh_outp();
+ sh_outp(cur_string);
SetCl(NORMAL);
}
else
@@ -177,7 +180,7 @@
(cur_string[2]==' ')) // .I tag
{
SetCl(ITALIC);
- text_outp();
+ text_outp(cur_string);
SetCl(NORMAL);
}
else
@@ -195,7 +198,7 @@
(cur_string[2]==' ')) // .B tag
{
SetCl(BOLD);
- text_outp();
+ text_outp(cur_string);
SetCl(NORMAL);
}
else
@@ -206,8 +209,8 @@
putchar(' ');
}
- else text_outp(); // print plane text
- th_outp();
+ else text_outp(cur_string); // print plane text
+ th_outp(cur_string, THtag);
/* END of TAGs processing */
return 0;
}