Reading up (to refresh the grey matter between my ears) I came across the recommendation that for optimum portability (and we know that TinTin++ is run on a wide variety of platforms ) variables used to manipulate arrays, for example, should be declared as of type 'size_t' rather than 'int', 'unsigned int', 'long int' etc. and that when doing maths with them the results should be stored in variables of type 'ptrdiff_t'.

This is already in gcc compilers, although there was a brief time in the past where size_t defaulted to a 'signed int' in common situations, this was rapidly corrected to the unsigned type that it should have been.

I note that we are currently using 'ints' for manipulating the ses->map->room_list[] array, and I'm certain there are other cases. I guess this is something to go onto the todo list as well?

PS. #MAP CREATE 10 produces a map with space for ten rooms which are numbered, not surprisingly 1 to 10, but the 'C' code in which TinTin++ is written uses an array of pointers to those rooms and 'C' numbers its arrays starting at 0 not 1, so by rights we ought to be able to have a room with 0 as its vnumb. On the other hand we have been using -1 as an invalid or 'error' value for some functions that return a room number (which should change to the unsigned size_t type) so that becomes problematic; logically then we should use 0 as the error case?