BSD 계열 및 Mac OS X 에서 strftime 테스트 부탁드립니다

lacovnk의 이미지

http://redmine.ruby-lang.org/issues/show/2396

Mac OS X 10.6.2 에서 버그가 확인되었는데, 이게 Mac 버그인지 아니면 BSD 계열 버그인지 모르겠네요.

#include <time.h>
#include <stdio.h>
 
int
main(void)
{
    time_t now = time(0);
    char buf[1024];
    struct tm *t = localtime(&now);
    int gmtoff = t->tm_gmtoff / 60;
    printf("tm_gmtoff = %+03d%02d, tm_zone = %s\n", gmtoff / 60, gmtoff % 60, t->tm_zone);
    strftime(buf, sizeof(buf), "tm_gmtoff = %z, tm_zone = %Z\n", t);
    fputs(buf, stdout);
    return 0;
}

결과는

tm_gmtoff = +0900, tm_zone = KST
tm_gmtoff = +0800, tm_zone = KST

로 잘못 나오고 있습니다. Mac OS X 보니 BSD 쪽 라이브러리를 쓰는 것 같은데, 다른 분은 어떻게 나오는지 테스트 부탁드립니다.

일단 알아봐야 어디다가 리포팅 할 지 또 알아봐야겠습니다. 일단 http://www.apple.com/feedback/macosx.html 에는 넣어놨습니다.

suns1997의 이미지

아래와 같이 출력되네요...

seonu-simyi-imac:tmp suns1997$ ./a.out
tm_gmtoff = +0900, tm_zone = KST
tm_gmtoff = +0800, tm_zone = KST

lacovnk의 이미지

suns1997님 감사합니다

다른 시스템에서 가능한 분 테스트 부탁드립니다 :)

hoppang의 이미지

hoppangbook:downloads hoppang$ ./test
tm_gmtoff = +0900, tm_zone = KST
tm_gmtoff = +0800, tm_zone = KST

마찬가지네요
========================
귀엽고 깜찍한 호빵님~ >ㅁ<

neocoin의 이미지

분석은 하지 않고 결과만 올립니다. timezone이 영향을 미치는것으로 보이네요.

environment

Mac OS X 10.6.2

$ gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5646~6/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5646)

tm_gmtoff = -0800, tm_zone = PST
tm_gmtoff = -0800, tm_zone = PST
bushi의 이미지

일광시간절약(?) - daylight saving time - 의 영향일지도.

OTL

sml0747의 이미지

OSX 10.6.2 에서 실행결과는 다음과 같습니다.

tm_gmtoff = +0000, tm_zone = GMT
tm_gmtoff = +0000, tm_zone = GMT
lacovnk의 이미지

애플 웹사이트에서 관련 소스코드를 볼 수 있군요.
http://www.opensource.apple.com/release/mac-os-x-1062/

Mac 의 man 페이지는 다음과 같습니다
http://developer.apple.com/mac/library/DOCUMENTATION/Darwin/Reference/ManPages/man3/strftime.3.html

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.