* 26-Nov-2003 Vizzini Updated to run properly on Win2ksp4
*/
#include <tditest.h>
+#include <pseh/pseh2.h>
#if DBG
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 */
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 */
return element;
}
-int
-AnalyzeFile()
+void sh_outp(char *cur_string)
{
- char *cur_string=(char*)malloc(sizeof(char)*MAXLINE);
+ 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);
+ if(cur_string[0]=='.')
+ while(cur_string[symbol]!=' ')
+ symbol++;
- void sh_outp(void)
- {
- putchar('\n');
- putchar('\n');
- for(symbol=3;putchar(cur_string[symbol]); symbol++);
- }
+ if(symbol) TagFlag=1;
- 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);
- }
+ for(;cur_string[symbol]!='\n'; symbol++)
+ putchar(cur_string[symbol]);
+ putchar(' ');
+}
- void text_outp(void)
- {
- char TagFlag=0;
- symbol=0;
+int
+AnalyzeFile()
+{
+ char *cur_string=(char*)malloc(sizeof(char)*MAXLINE);
+ char *THtag=(char*)malloc(sizeof(char)*MAXLINE);
- if(cur_string[0]=='.')
- while(cur_string[symbol]!=' ')
- symbol++;
- if(symbol) TagFlag=1;
- for(;cur_string[symbol]!='\n'; symbol++)
- putchar(cur_string[symbol]);
- putchar(' ');
- }
while(fgets(cur_string,MAXLINE,manfile))
(cur_string[2]=='H')) // .SH tag
{
SetCl(BOLD);
- sh_outp();
+ sh_outp(cur_string);
SetCl(NORMAL);
}
else
(cur_string[2]==' ')) // .I tag
{
SetCl(ITALIC);
- text_outp();
+ text_outp(cur_string);
SetCl(NORMAL);
}
else
(cur_string[2]==' ')) // .B tag
{
SetCl(BOLD);
- text_outp();
+ text_outp(cur_string);
SetCl(NORMAL);
}
else
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;
}