}\r
}\r
\r
+void close_handle(HANDLE *handle, HANDLE *remember) {\r
+ if (remember) *remember = INVALID_HANDLE_VALUE;\r
+ if (! handle) return;\r
+ if (! *handle) return;\r
+ CloseHandle(*handle);\r
+ if (remember) *remember = *handle;\r
+ *handle = 0;\r
+}\r
+\r
+void close_handle(HANDLE *handle) {\r
+ close_handle(handle, NULL);\r
+}\r
+\r
/* Get path, share mode, creation disposition and flags for a stream. */\r
int get_createfile_parameters(HKEY key, TCHAR *prefix, TCHAR *path, unsigned long *sharing, unsigned long default_sharing, unsigned long *disposition, unsigned long default_disposition, unsigned long *flags, unsigned long default_flags, bool *copy_and_truncate) {\r
TCHAR value[NSSM_STDIO_LENGTH];\r
__int64 size;\r
unsigned long *tid_ptr;\r
unsigned long *rotate_online;\r
+ bool timestamp_log;\r
+ __int64 line_length;\r
bool copy_and_truncate;\r
unsigned long rotate_delay;\r
} logger_t;\r
\r
+void close_handle(HANDLE *, HANDLE *);\r
+void close_handle(HANDLE *);\r
int get_createfile_parameters(HKEY, TCHAR *, TCHAR *, unsigned long *, unsigned long, unsigned long *, unsigned long, unsigned long *, unsigned long, bool *);\r
int set_createfile_parameter(HKEY, TCHAR *, TCHAR *, unsigned long);\r
int delete_createfile_parameter(HKEY, TCHAR *, TCHAR *);\r