changeset 22940:38cb73f3fe04

The size of xor_table is known and fixed, no need to calculate it
author rtogni
date Mon, 09 Apr 2007 19:30:32 +0000
parents 1f15b1ed55b1
children 0f247134050e
files stream/realrtsp/real.c
diffstat 1 files changed, 6 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/stream/realrtsp/real.c	Mon Apr 09 16:44:23 2007 +0000
+++ b/stream/realrtsp/real.c	Mon Apr 09 19:30:32 2007 +0000
@@ -49,12 +49,14 @@
 #define LOG
 */
 
-static const unsigned char xor_table[] = {
+#define XOR_TABLE_SIZE 45
+
+static const unsigned char xor_table[XOR_TABLE_SIZE] = {
     0x05, 0x18, 0x74, 0xd0, 0x0d, 0x09, 0x02, 0x53,
     0xc0, 0x01, 0x05, 0x05, 0x67, 0x03, 0x19, 0x70,
     0x08, 0x27, 0x66, 0x10, 0x10, 0x72, 0x08, 0x09,
     0x63, 0x11, 0x03, 0x71, 0x08, 0x08, 0x70, 0x02,
-    0x10, 0x57, 0x05, 0x18, 0x54, 0x00, 0x00, 0x00 };
+    0x10, 0x57, 0x05, 0x18, 0x54 };
 
 
 #define BUF_SIZE 4096
@@ -103,7 +105,7 @@
 
 static void real_calc_response_and_checksum (char *response, char *chksum, char *challenge) {
 
-  int   ch_len, table_len, resp_len;
+  int   ch_len, resp_len;
   int   i;
   char *ptr;
   char  buf[128];
@@ -136,12 +138,8 @@
     memcpy(ptr, challenge, ch_len);
   }
   
-    table_len = strlen(xor_table);
-
-    if (table_len > 56) table_len=56;
-
     /* xor challenge bytewise with xor_table */
-    for (i=0; i<table_len; i++)
+    for (i=0; i<XOR_TABLE_SIZE; i++)
       ptr[i] = ptr[i] ^ xor_table[i];
 
   calc_response_string (response, buf);