Re: Hacker MUDSTEALER ALERT

From: Daniel Koepke (dkoepke@CALIFORNIA.COM)
Date: 11/03/97


On Mon, 3 Nov 1997, George wrote:

->On Mon, 3 Nov 1997, Daniel Koepke wrote:
->
->>  a = a xor b;
->>  b = b xor a;
->>  a = a xor b;
->>
->>I just use the macro "#define SWAP(a,b) { a ^= b; b ^= a; a ^= b }".
->>Even if a lot of people knew this one, I doubt it has any use in
->>CircleMUD.
->
->It's used in class.c, line 239.

Oh, wow, you're right...Okay, it is used in CircleMUD.  BTW, it also
seems possible with addition and subtraction, although I didn't think
of this until someone else mentioned that it could be done (in
disbelief, I spent 2 minutes figuring out how/if):

When a = 1 and b = 2:
  a = 1 + 2; a = 3;
  b = 3 - 2; b = 1;
  a = 3 - 1; a = 2;

When a = 5 and b = 9:
  a = 5 + 9; a = 14;
  b = 14- 9; b = 5;
  a = 14- 5; a = 9;

When a = 10 and b = 20:
  a = 10+20; a = 30;
  b = 30-20; b = 10;
  a = 30-10; a = 20;

Imagine that...BTW, last I checked, the xor method was portable.  I
don't know what the other person was talking about, though.  So if
there is yet another way, please inform.


daniel koepke / dkoepke@california.com


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/08/00 PST