Derek Scherger <de...@echologic.com> writes: > On Thu, May 20, 2010 at 5:04 AM, Stephen Leake < > stephen_le...@stephe-leake.org> wrote: > >> It's currently dying with some mysterious C messages: >> >> >> These do _not_ look easy to fix. >> >> So I'm looking at where strptime is used, to see what the impact of this >> is. >> >> It's used in three places: >> >> get_log_message_interactively, if date_fmt is not empty >> >> status, to check that date_fmt is compatible with >> get_log_message_interactively >> >> commit, to check that date_fmt is compatible with something (I'm not sure >> what) >> > > With the new changelog editor you may edit the Date: header as part of a > commit, strptime is used to parse the date from the commit editor. The > format is deemed to be acceptable if the current date is unchanged after > being formatted and parsed with it. > > date_fmt is set by the user, via a command line option or >> hook_get_date_format_spec. >> >> So this is in support of user-configurable date formats. >> > > ... used in the changelog editor, as far as I know nothing else uses > strptime to parse dates.
Ok, good. >> How important is that? >> >> Perhaps we could simply say "user-configurable date formats not >> available on Win32". I'm ok with that. > > Or "editing the Date: header is unsupported on Win32" Ok, I'll see if I can make this work. Then we can release, and come up with a better solution later. One option would be to find Microsoft's date parsing function (there must be one somewhere) and use a platform.hh wrapper. I tried searching for "parse date" on MSDN, and got over 1,000 hits; the first couple of pages were all in .NET or Visual Basic or some other high level layer. There does not seem to be a way to restrict the search to "plain C API"! So I gave up. Anticipating that, and as a clean way to avoid the compilation error, I'll add a wrapper "parse_date" in platform.hh now, making it take the same parameters as strptime. The Win32 version will throw an error. Hmm. Maybe it needs to support only a "standard" format instead? I'll also see if this compiles on Cygwin. Has anyone compiled on Mac since the changelog editor landed? Hmm. I just did some wider web searching, and found this: http://stackoverflow.com/questions/234171/parse-a-date-from-a-string-in-win32 Apparently Win32 can convert a SystemTime struct to a formatted string, but cannot then parse the string. Which explains why every higher-level package has its own way of parsing dates. Wonderfull. Boost has a Date_Time library, but I suspect we don't want to go there. -- -- Stephe _______________________________________________ Monotone-devel mailing list Monotone-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/monotone-devel