client *cl)
{
char **argv;
- int id, status;
+ int id, status, idx;
+
+ if (q->version < 6)
+ idx = 0;
+ else
+ idx = 1;
while (sq_get_data(sq, &argv))
{
mr_trim_args(q->vcnt, argv);
- id = atoi(argv[13]);
- status = id_to_name(id, STRINGS_TABLE, &argv[13]);
+ id = atoi(argv[13 + idx]);
+ status = id_to_name(id, STRINGS_TABLE, &argv[13 + idx]);
if (status)
return status;
- id = atoi(argv[14]);
- status = id_to_name(id, STRINGS_TABLE, &argv[14]);
+ id = atoi(argv[14 + idx]);
+ status = id_to_name(id, STRINGS_TABLE, &argv[14 + idx]);
if (status)
return status;
- id = atoi(argv[16]);
+ id = atoi(argv[16 + idx]);
if (id < 0)
- status = id_to_name(-id, STRINGS_TABLE, &argv[16]);
+ status = id_to_name(-id, STRINGS_TABLE, &argv[16 + idx]);
else
- status = id_to_name(id, USERS_TABLE, &argv[16]);
+ status = id_to_name(id, USERS_TABLE, &argv[16 + idx]);
if (status && status != MR_NO_MATCH)
return status;
- status = fix_ace(argv[11], &argv[12]);
+ status = fix_ace(argv[11 + idx], &argv[12 + idx]);
if (status && status != MR_NO_MATCH)
return status;
}