269 |
|
|
270 |
rdp_parse_pen(s, &os->pen, present >> 7); |
rdp_parse_pen(s, &os->pen, present >> 7); |
271 |
|
|
272 |
DEBUG(("LINE(op=0x%x,sx=%d,sy=%d,dx=%d,dx=%d,fg=0x%x)\n", |
DEBUG(("LINE(op=0x%x,sx=%d,sy=%d,dx=%d,dy=%d,fg=0x%x)\n", |
273 |
os->opcode, os->startx, os->starty, os->endx, os->endy, os->pen.colour)); |
os->opcode, os->startx, os->starty, os->endx, os->endy, os->pen.colour)); |
274 |
|
|
275 |
if (os->opcode < 0x01 || os->opcode > 0x10) |
if (os->opcode < 0x01 || os->opcode > 0x10) |
879 |
/* The length isn't calculated correctly by the server. |
/* The length isn't calculated correctly by the server. |
880 |
* For very compact orders the length becomes negative |
* For very compact orders the length becomes negative |
881 |
* so a signed integer must be used. */ |
* so a signed integer must be used. */ |
882 |
sint16 length; |
uint16 length; |
883 |
uint16 flags; |
uint16 flags; |
884 |
uint8 type; |
uint8 type; |
885 |
uint8 *next_order; |
uint8 *next_order; |
886 |
|
|
887 |
in_uint16_le(s, (uint16) length); |
in_uint16_le(s, length); |
888 |
in_uint16_le(s, flags); /* used by bmpcache2 */ |
in_uint16_le(s, flags); /* used by bmpcache2 */ |
889 |
in_uint8(s, type); |
in_uint8(s, type); |
890 |
|
|
891 |
next_order = s->p + length + 7; |
next_order = s->p + (sint16)length + 7; |
892 |
|
|
893 |
switch (type) |
switch (type) |
894 |
{ |
{ |