/[rdesktop]/sourceforge.net/trunk/rdesktop/orders.c
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /sourceforge.net/trunk/rdesktop/orders.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 355 by forsberg, Fri Mar 28 09:09:17 2003 UTC revision 540 by astrand, Fri Oct 31 20:34:26 2003 UTC
# Line 21  Line 21 
21  #include "rdesktop.h"  #include "rdesktop.h"
22  #include "orders.h"  #include "orders.h"
23    
24  extern uint8 *next_packet;  extern uint8 *g_next_packet;
25  static RDP_ORDER_STATE order_state;  static RDP_ORDER_STATE g_order_state;
26  extern BOOL use_rdp5;  extern BOOL g_use_rdp5;
27    
28  /* Read field indicating which parameters are present */  /* Read field indicating which parameters are present */
29  static void  static void
# Line 55  rdp_in_present(STREAM s, uint32 * presen Line 55  rdp_in_present(STREAM s, uint32 * presen
55    
56  /* Read a co-ordinate (16-bit, or 8-bit delta) */  /* Read a co-ordinate (16-bit, or 8-bit delta) */
57  static void  static void
58  rdp_in_coord(STREAM s, uint16 * coord, BOOL delta)  rdp_in_coord(STREAM s, sint16 * coord, BOOL delta)
59  {  {
60          sint8 change;          sint8 change;
61    
# Line 661  process_raw_bmpcache(STREAM s) Line 661  process_raw_bmpcache(STREAM s)
661          in_uint8p(s, data, bufsize);          in_uint8p(s, data, bufsize);
662    
663          DEBUG(("RAW_BMPCACHE(cx=%d,cy=%d,id=%d,idx=%d)\n", width, height, cache_id, cache_idx));          DEBUG(("RAW_BMPCACHE(cx=%d,cy=%d,id=%d,idx=%d)\n", width, height, cache_id, cache_idx));
664          inverted = xmalloc(width * height * Bpp);          inverted = (uint8 *) xmalloc(width * height * Bpp);
665          for (y = 0; y < height; y++)          for (y = 0; y < height; y++)
666          {          {
667                  memcpy(&inverted[(height - y - 1) * (width * Bpp)], &data[y * (width * Bpp)],                  memcpy(&inverted[(height - y - 1) * (width * Bpp)], &data[y * (width * Bpp)],
# Line 684  process_bmpcache(STREAM s) Line 684  process_bmpcache(STREAM s)
684          uint16 bufsize, pad2, row_size, final_size;          uint16 bufsize, pad2, row_size, final_size;
685          uint8 pad1;          uint8 pad1;
686    
687            pad2 = row_size = final_size = 0xffff;  /* Shut the compiler up */
688    
689          in_uint8(s, cache_id);          in_uint8(s, cache_id);
690          in_uint8(s, pad1);      /* pad */          in_uint8(s, pad1);      /* pad */
691          in_uint8(s, width);          in_uint8(s, width);
# Line 693  process_bmpcache(STREAM s) Line 695  process_bmpcache(STREAM s)
695          in_uint16_le(s, bufsize);       /* bufsize */          in_uint16_le(s, bufsize);       /* bufsize */
696          in_uint16_le(s, cache_idx);          in_uint16_le(s, cache_idx);
697    
698          if (!use_rdp5) {          if (!g_use_rdp5)
699            {
700    
701                  /* Begin compressedBitmapData */                  /* Begin compressedBitmapData */
702                  in_uint16_le(s, pad2);  /* pad */                  in_uint16_le(s, pad2);  /* pad */
703                  in_uint16_le(s, size);                  in_uint16_le(s, size);
704                  //      in_uint8s(s, 4);        /* row_size, final_size */                  /*      in_uint8s(s, 4);  */      /* row_size, final_size */
705                  in_uint16_le(s, row_size);                  in_uint16_le(s, row_size);
706                  in_uint16_le(s, final_size);                  in_uint16_le(s, final_size);
707    
708          } else {          }
709            else
710            {
711                  size = bufsize;                  size = bufsize;
712          }          }
713          in_uint8p(s, data, size);          in_uint8p(s, data, size);
714    
715          DEBUG(("BMPCACHE(cx=%d,cy=%d,id=%d,idx=%d,bpp=%d,size=%d,pad1=%d,bufsize=%d,pad2=%d,rs=%d,fs=%d)\n",          DEBUG(("BMPCACHE(cx=%d,cy=%d,id=%d,idx=%d,bpp=%d,size=%d,pad1=%d,bufsize=%d,pad2=%d,rs=%d,fs=%d)\n", width, height, cache_id, cache_idx, bpp, size, pad1, bufsize, pad2, row_size, final_size));
                width, height,  
                cache_id, cache_idx,  
                bpp, size, pad1, bufsize, pad2, row_size, final_size));  
716    
717          bmpdata = xmalloc(width * height * Bpp);          bmpdata = (uint8 *) xmalloc(width * height * Bpp);
718    
719          if (bitmap_decompress(bmpdata, width, height, data, size, Bpp))          if (bitmap_decompress(bmpdata, width, height, data, size, Bpp))
720          {          {
# Line 740  process_colcache(STREAM s) Line 742  process_colcache(STREAM s)
742          in_uint8(s, cache_id);          in_uint8(s, cache_id);
743          in_uint16_le(s, map.ncolours);          in_uint16_le(s, map.ncolours);
744    
745          map.colours = xmalloc(3 * map.ncolours);          map.colours = (COLOURENTRY *) xmalloc(sizeof(COLOURENTRY) * map.ncolours);
746    
747          for (i = 0; i < map.ncolours; i++)          for (i = 0; i < map.ncolours; i++)
748          {          {
# Line 833  process_secondary_order(STREAM s) Line 835  process_secondary_order(STREAM s)
835  void  void
836  process_orders(STREAM s, uint16 num_orders)  process_orders(STREAM s, uint16 num_orders)
837  {  {
838          RDP_ORDER_STATE *os = &order_state;          RDP_ORDER_STATE *os = &g_order_state;
839          uint32 present;          uint32 present;
840          uint8 order_flags;          uint8 order_flags;
841          int size, processed = 0;          int size, processed = 0;
# Line 947  process_orders(STREAM s, uint16 num_orde Line 949  process_orders(STREAM s, uint16 num_orde
949                  processed++;                  processed++;
950          }          }
951    
952          if (s->p != next_packet)          if (s->p != g_next_packet)
953                  error("%d bytes remaining\n", (int) (next_packet - s->p));                  error("%d bytes remaining\n", (int) (g_next_packet - s->p));
954  }  }
955    
956  /* Reset order state */  /* Reset order state */
957  void  void
958  reset_order_state(void)  reset_order_state(void)
959  {  {
960          memset(&order_state, 0, sizeof(order_state));          memset(&g_order_state, 0, sizeof(g_order_state));
961          order_state.order_type = RDP_ORDER_PATBLT;          g_order_state.order_type = RDP_ORDER_PATBLT;
962  }  }

Legend:
Removed from v.355  
changed lines
  Added in v.540

  ViewVC Help
Powered by ViewVC 1.1.26