Name="VCCLCompilerTool"\r
Optimization="0"\r
AdditionalIncludeDirectories=""$(ProjectDir)getopt";"$(ProjectDir)src/include""\r
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE"\r
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ESL_DECLARE_STATIC"\r
MinimalRebuild="true"\r
BasicRuntimeChecks="3"\r
RuntimeLibrary="3"\r
<Tool\r
Name="VCCLCompilerTool"\r
AdditionalIncludeDirectories=""$(ProjectDir)getopt";"$(ProjectDir)src/include""\r
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE"\r
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ESL_DECLARE_STATIC"\r
RuntimeLibrary="2"\r
UsePrecompiledHeader="0"\r
WarningLevel="4"\r
}
-static const char* COLORS[] = { ESL_SEQ_DEFAULT_COLOR, ESL_SEQ_FRED, ESL_SEQ_FRED,
- ESL_SEQ_FRED, ESL_SEQ_FMAGEN, ESL_SEQ_FCYAN, ESL_SEQ_FGREEN, ESL_SEQ_FYELLOW };
+#ifdef WIN32\r
+static HANDLE hStdout;\r
+static WORD wOldColorAttrs;\r
+static CONSOLE_SCREEN_BUFFER_INFO csbiInfo;\r
+\r
+static WORD \r
+#else\r
+static const char*\r
+#endif\r
+COLORS[] = { ESL_SEQ_DEFAULT_COLOR, ESL_SEQ_FRED, ESL_SEQ_FRED,
+ ESL_SEQ_FRED, ESL_SEQ_FMAGEN, ESL_SEQ_FCYAN, ESL_SEQ_FGREEN, ESL_SEQ_FYELLOW };
static void *msg_thread_run(esl_thread_t *me, void *obj)
{
}
if (tchannel == 0 || (file && !strcmp(file, "switch_console.c"))) {
+#ifdef WIN32
+ DWORD len = (DWORD) strlen(handle->last_event->body);\r
+ DWORD outbytes = 0;\r
+ SetConsoleTextAttribute(hStdout, COLORS[level]);\r
+ WriteFile(hStdout, handle->last_event->body, len, &outbytes, NULL);\r
+ SetConsoleTextAttribute(hStdout, wOldColorAttrs);\r
+#else
printf("%s%s%s", COLORS[level], handle->last_event->body, ESL_SEQ_DEFAULT_COLOR);
+#endif
}
known++;
} else if (!strcasecmp(type, "text/disconnect-notice")) {
el_set(el, EL_HIST, history, myhistory);
history(myhistory, &ev, H_LOAD, hfile);
#endif
+#ifdef WIN32
+ hStdout = GetStdHandle(STD_OUTPUT_HANDLE);\r
+ if (hStdout != INVALID_HANDLE_VALUE && GetConsoleScreenBufferInfo(hStdout, &csbiInfo)) {\r
+ wOldColorAttrs = csbiInfo.wAttributes;\r
+ }\r
+#endif
snprintf(cmd_str, sizeof(cmd_str), "log info\n\n");
esl_send_recv(&handle, cmd_str);
Name="Debug|Win32"\r
OutputDirectory="$(SolutionDir)Debug"\r
IntermediateDirectory="$(ConfigurationName)"\r
- ConfigurationType="2"\r
+ ConfigurationType="4"\r
CharacterSet="1"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
Optimization="0"\r
AdditionalIncludeDirectories="include"\r
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;ESL_EXPORTS"\r
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;ESL_DECLARE_STATIC"\r
MinimalRebuild="true"\r
BasicRuntimeChecks="3"\r
RuntimeLibrary="3"\r
UsePrecompiledHeader="0"\r
WarningLevel="4"\r
WarnAsError="true"\r
- DebugInformationFormat="4"\r
+ DebugInformationFormat="3"\r
DisableSpecificWarnings="4706;4100"\r
EnablePREfast="true"\r
/>\r
Name="VCPreLinkEventTool"\r
/>\r
<Tool\r
- Name="VCLinkerTool"\r
- AdditionalDependencies="Ws2_32.lib"\r
- ModuleDefinitionFile=""\r
- OptimizeReferences="1"\r
- EnableCOMDATFolding="1"\r
- RandomizedBaseAddress="1"\r
- DataExecutionPrevention="0"\r
- ImportLibrary="$(IntDir)/$(TargetName).lib"\r
+ Name="VCLibrarianTool"\r
/>\r
<Tool\r
Name="VCALinkTool"\r
/>\r
- <Tool\r
- Name="VCManifestTool"\r
- />\r
<Tool\r
Name="VCXDCMakeTool"\r
/>\r
<Tool\r
Name="VCFxCopTool"\r
/>\r
- <Tool\r
- Name="VCAppVerifierTool"\r
- />\r
<Tool\r
Name="VCPostBuildEventTool"\r
/>\r
Name="Release|Win32"\r
OutputDirectory="$(SolutionDir)Release"\r
IntermediateDirectory="$(ConfigurationName)"\r
- ConfigurationType="2"\r
+ ConfigurationType="4"\r
CharacterSet="1"\r
WholeProgramOptimization="1"\r
>\r
<Tool\r
Name="VCCLCompilerTool"\r
AdditionalIncludeDirectories="include"\r
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;ESL_EXPORTS"\r
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;ESL_DECLARE_STATIC"\r
RuntimeLibrary="2"\r
UsePrecompiledHeader="0"\r
WarningLevel="4"\r
Name="VCPreLinkEventTool"\r
/>\r
<Tool\r
- Name="VCLinkerTool"\r
- AdditionalDependencies="Ws2_32.lib"\r
- ModuleDefinitionFile=""\r
- RandomizedBaseAddress="1"\r
- DataExecutionPrevention="0"\r
- ImportLibrary="$(IntDir)/$(TargetName).lib"\r
+ Name="VCLibrarianTool"\r
/>\r
<Tool\r
Name="VCALinkTool"\r
/>\r
- <Tool\r
- Name="VCManifestTool"\r
- />\r
<Tool\r
Name="VCXDCMakeTool"\r
/>\r
<Tool\r
Name="VCFxCopTool"\r
/>\r
- <Tool\r
- Name="VCAppVerifierTool"\r
- />\r
<Tool\r
Name="VCPostBuildEventTool"\r
/>\r
typedef struct esl_event_header esl_event_header_t;
typedef struct esl_event esl_event_t;
+#ifdef WIN32
+#define ESL_SEQ_FWHITE FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY\r
+#define ESL_SEQ_FRED FOREGROUND_RED | FOREGROUND_INTENSITY\r
+#define ESL_SEQ_FMAGEN FOREGROUND_BLUE | FOREGROUND_RED\r
+#define ESL_SEQ_FCYAN FOREGROUND_GREEN | FOREGROUND_BLUE\r
+#define ESL_SEQ_FGREEN FOREGROUND_GREEN\r
+#define ESL_SEQ_FYELLOW FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY\r
+#define ESL_SEQ_DEFAULT_COLOR ESL_SEQ_FWHITE\r
+#else
#define ESL_SEQ_ESC "\033["
/* Ansi Control character suffixes */
#define ESL_SEQ_HOME_CHAR 'H'
#define ESL_SEQ_CLEARLINE ESL_SEQ_ESC ESL_SEQ_CLEARLINE_CHAR_STR
#define ESL_SEQ_CLEARLINEEND ESL_SEQ_ESC ESL_SEQ_CLEARLINEEND_CHAR
#define ESL_SEQ_CLEARSCR ESL_SEQ_ESC ESL_SEQ_CLEARSCR_CHAR ESL_SEQ_HOME
+#endif
#if !defined(_XOPEN_SOURCE) && !defined(__FreeBSD__) && !defined(__NetBSD__)
#define _XOPEN_SOURCE 600