On Sat, 6 Jan 2001, Peter Ajamian wrote: > If you want to account for this you can modify the first if statement > in my code as follows... I actually did this without even thinking about it, since I retyped it rather than cut-and-pasted. Never noticed your version did not. Mine is: ord = day % 100; suf = "th"; if ((ord / 10) != 1) { switch (ord % 10) { case 1: suf = "st"; break; case 2: suf = "nd"; break; case 3: suf = "rd"; break; } } But, as you pointed out, there's no need to store the digit we're switching on for the ordinal, so I'll use your second version: suf = "th"; if (((day % 100) / 10) != 1) { switch (day % 10) { case 1: suf = "st"; break; case 2: suf = "nd"; break; case 3: suf = "rd"; break; } } The reason for supporting more than what stock does in this is that, ideally, CircleMUD should be easy to change without having to track down a bunch of little glitches resulting from the change. do_time() and the associated code is actually a place that deserves some additional work. I'll deal with it later, unless someone wants to supply a patch to move the hard-coded mud-time numbers (e.g., 35 is the number of days in a month, 7 is the number of days in a week) into #defines in structs.h. -dak -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/03/01 PST