Re: status of release 1.1

Markus Wanner <[email protected]>
Newsgroups gmane.comp.version-control.monotone.devel
Message-ID <[email protected]>
Thomas,

(or anybody on Mac OS X)

On 05/03/2014 08:40 PM, Markus Wanner wrote:
> I'll try to see what I can do with such a crippled mktime().

Can you please try the attached simple test program?

  $ g++ -o test test.cc
  $ ./test

Regards

Markus Wanner

_______________________________________________
Monotone-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/monotone-devel
test.cc (text/x-c++src, 987 B)
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>

int main() {
  if (sizeof(struct tm) <= 4)
	{
	  std::cout << "sizeof(struct tm) == 4\n";
	  return EXIT_SUCCESS;
	}

  /* just in the range of 32-bit */
  int64_t exp_result = 2147483647LL;
  struct tm tb = { 7, 14, 4, 19, 0, 138, 0, 0, -1 };

  int64_t t = std::mktime(&tb);
  if (t != exp_result)
	{
	  std::cout << "wrong result for 32-bit time (off by "
				<< (exp_result - std::mktime(&tb)) << ")\n";
	  return EXIT_FAILURE;
	}

  /* not in range, anymore, needs proper 64-bit processing */
  tb.tm_sec += 1;
  exp_result += 1;
  t = std::mktime(&tb);
  if (t == -1)
	{
	  std::cout << "crippled mktime detected (got -1)\n";
	  return EXIT_FAILURE;
	}
  else if (t != exp_result)
	{
	  std::cout << "wrong result for 64-bit time (off by "
				<< (exp_result - std::mktime(&tb)) << ")\n";
	  return EXIT_FAILURE;
	}
  else
	{
	  std::cout << "mktime seems okay" << std::endl;
	  return EXIT_SUCCESS;
	}
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.