summaryrefslogtreecommitdiffstats
path: root/xrdp/xrdp_wm.c
diff options
context:
space:
mode:
authorjsorg71 <jay.sorg@gmail.com>2016-08-05 14:38:41 -0700
committerGitHub <noreply@github.com>2016-08-05 14:38:41 -0700
commit8353baab3d361bcdebb32f1677dd066e0b255dc9 (patch)
tree38bd74dc119bdc115d5876383d7a65ff3e19debd /xrdp/xrdp_wm.c
parent81fe939dd346420d41eb2afcd6c8c05a422a9e7b (diff)
parentace7d2c822937a9cb0637946f85d1fbd63562c44 (diff)
downloadxrdp-proprietary-8353baab3d361bcdebb32f1677dd066e0b255dc9.tar.gz
xrdp-proprietary-8353baab3d361bcdebb32f1677dd066e0b255dc9.zip
Merge pull request #390 from proski/june21
Cleanups and C++ compatibility
Diffstat (limited to 'xrdp/xrdp_wm.c')
-rw-r--r--xrdp/xrdp_wm.c52
1 files changed, 31 insertions, 21 deletions
diff --git a/xrdp/xrdp_wm.c b/xrdp/xrdp_wm.c
index 3b223902..548742ac 100644
--- a/xrdp/xrdp_wm.c
+++ b/xrdp/xrdp_wm.c
@@ -18,6 +18,8 @@
* simple window manager
*/
+#include <stdarg.h>
+#include <stdio.h>
#include "xrdp.h"
#include "log.h"
@@ -45,7 +47,7 @@ xrdp_wm_create(struct xrdp_process *owner,
pid = g_getpid();
g_snprintf(event_name, 255, "xrdp_%8.8x_wm_login_mode_event_%8.8x",
pid, owner->session_id);
- log_message(LOG_LEVEL_DEBUG,event_name);
+ log_message(LOG_LEVEL_DEBUG, "%s", event_name);
self->login_mode_event = g_create_wait_obj(event_name);
self->painter = xrdp_painter_create(self, self->session);
self->cache = xrdp_cache_create(self, self->session, self->client_info);
@@ -60,7 +62,7 @@ xrdp_wm_create(struct xrdp_process *owner,
self->current_surface_index = 0xffff; /* screen */
/* to store configuration from xrdp.ini */
- self->xrdp_config = g_malloc(sizeof(struct xrdp_config), 1);
+ self->xrdp_config = g_new0(struct xrdp_config, 1);
return self;
}
@@ -546,7 +548,7 @@ xrdp_wm_init(struct xrdp_wm *self)
struct list *names;
struct list *values;
char *q;
- char *r;
+ const char *r;
char param[256];
char section_name[256];
char cfg_file[256];
@@ -677,9 +679,9 @@ xrdp_wm_init(struct xrdp_wm *self)
else
{
/* requested module name not found in xrdp.ini */
- g_writeln(" xrdp_wm_init: file_read_section returned non-zero, requested section not found in xrdp.ini");
- xrdp_wm_log_msg(self, "ERROR: The requested xrdp module not found in xrdp.ini,"
- " falling back to login window");
+ xrdp_wm_log_msg(self, LOG_LEVEL_ERROR,
+ "Section \"%s\" not configured in xrdp.ini",
+ section_name);
}
list_delete(names);
@@ -1725,8 +1727,8 @@ callback(long id, int msg, long param1, long param2, long param3, long param4)
rv = xrdp_wm_process_input_mousex(wm, param3, param1, param2);
break;
case 0x4444: /* invalidate, this is not from RDP_DATA_PDU_INPUT */
- /* like the rest, its from RDP_PDU_DATA with code 33 */
- /* its the rdp client asking for a screen update */
+ /* like the rest, it's from RDP_PDU_DATA with code 33 */
+ /* it's the rdp client asking for a screen update */
MAKERECT(rect, param1, param2, param3, param4);
rv = xrdp_bitmap_invalidate(wm->screen, &rect);
break;
@@ -1857,22 +1859,21 @@ xrdp_wm_log_wnd_notify(struct xrdp_bitmap *wnd,
return 0;
}
-void add_string_to_logwindow(char *msg, struct list *log)
+static void
+add_string_to_logwindow(const char *msg, struct list *log)
{
-
- char *new_part_message;
- char *current_pointer = msg ;
- int processedlen = 0;
+ const char *new_part_message;
+ const char *current_pointer = msg;
+ int len_done = 0;
do
{
- new_part_message = g_strndup(current_pointer, LOG_WINDOW_CHAR_PER_LINE) ;
- g_writeln("%s",new_part_message);
- list_add_item(log, (long)new_part_message);
- processedlen = processedlen + g_strlen(new_part_message);
- current_pointer = current_pointer + g_strlen(new_part_message) ;
- }
- while ((processedlen < g_strlen(msg)) && (processedlen < DEFAULT_STRING_LEN));
+ new_part_message = g_strndup(current_pointer, LOG_WINDOW_CHAR_PER_LINE);
+ g_writeln("%s", new_part_message);
+ list_add_item(log, (tintptr) new_part_message);
+ len_done += g_strlen(new_part_message);
+ current_pointer += g_strlen(new_part_message);
+ } while ((len_done < g_strlen(msg)) && (len_done < DEFAULT_STRING_LEN));
}
/*****************************************************************************/
@@ -1966,8 +1967,17 @@ xrdp_wm_show_log(struct xrdp_wm *self)
/*****************************************************************************/
int APP_CC
-xrdp_wm_log_msg(struct xrdp_wm *self, char *msg)
+xrdp_wm_log_msg(struct xrdp_wm *self, enum logLevels loglevel,
+ const char *fmt, ...)
{
+ va_list ap;
+ char msg[256];
+
+ va_start(ap, fmt);
+ vsnprintf(msg, sizeof(msg), fmt, ap);
+ va_end(ap);
+
+ log_message(loglevel, "xrdp_wm_log_msg: %s", msg);
add_string_to_logwindow(msg, self->log);
return 0;
}