--- sourceforge.net/trunk/rdesktop/rdesktop.c 2005/03/13 17:40:51 861 +++ sourceforge.net/trunk/rdesktop/rdesktop.c 2005/04/16 11:42:34 886 @@ -40,6 +40,7 @@ #endif #ifdef EGD_SOCKET +#include #include /* socket connect */ #include /* sockaddr_un */ #endif @@ -60,6 +61,10 @@ int g_height = 600; int g_xpos = 0; int g_ypos = 0; +int g_pos = 0; /* 0 position unspecified, + 1 specified, + 2 xpos neg, + 4 ypos neg */ extern int g_tcp_port_rdp; int g_server_bpp = 8; int g_win_button_size = 0; /* If zero, disable single app mode */ @@ -80,6 +85,7 @@ BOOL g_numlock_sync = False; BOOL g_owncolmap = False; BOOL g_ownbackstore = True; /* We can't rely on external BackingStore */ +BOOL g_rdp_compression = False; uint32 g_embed_wnd; uint32 g_rdp5_performanceflags = RDP5_NO_WALLPAPER | RDP5_NO_FULLWINDOWDRAG | RDP5_NO_MENUANIMATIONS; @@ -481,10 +487,16 @@ } if (*p == '+' || *p == '-') + { + g_pos |= (*p == '-') ? 2 : 1; g_xpos = strtol(p, &p, 10); + } if (*p == '+' || *p == '-') + { + g_pos |= (*p == '-') ? 4 : 1; g_ypos = strtol(p, NULL, 10); + } break; @@ -548,7 +560,7 @@ break; case 'X': - g_embed_wnd = strtol(optarg, NULL, 10); + g_embed_wnd = strtol(optarg, NULL, 0); break; case 'a': @@ -564,6 +576,7 @@ case 'z': DEBUG(("rdp compression enabled\n")); flags |= RDP_COMPRESSION; + g_rdp_compression = True; break; case 'x': @@ -729,12 +742,6 @@ STRNCPY(g_hostname, fullhostname, sizeof(g_hostname)); } - if ((flags & RDP_COMPRESSION) && (g_server_bpp > 8)) - { - warning("rdp compression not supported for bpp > 8, compression disabled\n"); - flags ^= RDP_COMPRESSION; - } - if (prompt_password && read_password(password, sizeof(password))) flags |= RDP_LOGON_AUTO;