Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 May 2002 03:38:18 -0700 (MST)
From:      "Terry R. Friedrichsen" <terry@uplift.sunquest.com>
To:        questions@freebsd.org
Subject:   printf(3) problem?
Message-ID:  <200205171038.DAA52246@uplift.sunquest.com>

next in thread | raw e-mail | index | archive | help


I've never tried this before, so I may simply be doing it wrong.  I'm using
FreeBSD 4.5-RELEASE, and the following program appears to print the wrong
thing.  I'm somewhat buoyed by the fact that Tru64 and Linux agree with me.

My belief is that the correct output of this program should be:

p1,p2 = 00000000000000012345,00000000000000067890

but FreeBSD prints instead:

p1,p2 = 00000000000000012345,20

Have I missed something here?

Thanks.

Terry R. Friedrichsen

terry@uplift.sunquest.com

--------------------------------------cut here---------------------------
#include <stdio.h>
#include <stdlib.h>

#include <sys/types.h>

#define ULONG_LEN   (size_t)20



main()

{
  off_t p1, p2;

  p1 = 12345; p2 = 67890;

  printf("p1,p2 = %0*lu,%0*lu\n", ULONG_LEN, p1, ULONG_LEN, p2);

  exit(0);
}

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200205171038.DAA52246>