/***************************************************************************/
/* */
/* */
/* Print the Win32 message corresponding the given error code. */
/* Copyright (c) 1993 by Hamilton Laboratories. All rights reserved. */
/* */
/* */
/***************************************************************************/
#include <windows.h>
#include <ctype.h>
#include <stdlib.h>
#include "internat.h"
void main( int argc, char **argv )
{
int i;
HANDLE Stdout = GetStdHandle(STD_OUTPUT_HANDLE);
Internationalize();
if (Stdout == INVALID_HANDLE_VALUE)
ExitProcess(GetLastError());
for (i = 1; i < argc; i++)
{
register char *p, c;
DWORD bytes;
for (p = argv[i]; c = *p, c && isdigit(c); p++)
;
if (c == 0)
{
char msg_buf[1024], errno_buf[20],
NoHelp[] = "No help is available for this error.\r\n";
DWORD Errno = (DWORD)atoi(argv[i]);
_itoa(Errno, errno_buf, 10);
for (p = errno_buf; *p; p++)
;
*p++ = ':';
*p++ = ' ';
*p++ = ' ';
WriteFile(Stdout, errno_buf, p - errno_buf, &bytes, NULL);
if (bytes = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, Errno,
MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), msg_buf,
sizeof(msg_buf), NULL))
WriteFile(Stdout, msg_buf, bytes, &bytes, NULL);
else
WriteFile(Stdout, NoHelp, sizeof(NoHelp) - 1, &bytes, NULL);
}
else
{
char NotNumeric[] = ": No help available. Error codes must "
"be numeric.\r\n";
while (*p)
p++;
WriteFile(Stdout, argv[i], p - argv[i], &bytes, NULL);
WriteFile(Stdout, NotNumeric, sizeof(NotNumeric) - 1, &bytes, NULL);
}
}
ExitProcess(0);
}
Hamilton C shell |
Free Updates |
Free Demo Software |
Win32 Training
Y2K |
Customer Testimonials |
On-line Hamilton C shell User Guide
Home |
Email |
Support |
Company Profile |
Distributors |
Links
Copyright © 1997-2001 by Hamilton Laboratories.
All rights reserved.
You are visitor number
476.
This page was last modified August 14, 2001.