--- deliantra/server/socket/request.C 2008/05/06 16:55:26 1.128 +++ deliantra/server/socket/request.C 2008/05/06 19:37:01 1.129 @@ -688,30 +688,15 @@ void MoveCmd (char *buf, int len, player *pl) { - int vals[3], i; + int to, tag, nrof; - /* A little funky here. We only cycle for 2 records, because - * we obviously are not going to find a space after the third - * record. Perhaps we should just replace this with a - * sscanf? - */ - for (i = 0; i < 2; i++) + if (3 != sscanf (buf, "%d %d %d", &to, &tag, &nrof)) { - vals[i] = atoi (buf); - - if (!(buf = strchr (buf, ' '))) - { - LOG (llevError, "Incomplete move command: %s\n", buf); - return; - } - - buf++; + LOG (llevError, "Incomplete move command: %s\n", buf); + return; } - vals[2] = atoi (buf); - -/* LOG(llevDebug,"Move item %d (nrof=%d) to %d.\n", vals[1], vals[2], vals[0]);*/ - esrv_move_object (pl->ob, vals[0], vals[1], vals[2]); + esrv_move_object (pl->ob, to, tag, nrof); } /******************************************************************************