Re: Gutenprint 5.3.5-pre1 Release

Matt Broughton <[email protected]> Thu, 11 Jul 2024 11:41:16 -0500
Newsgroups gmane.linux.printing.gimp-print.devel
Message-ID <[email protected]>

> On Jul 11, 2024, at 9:26 AM, Greg Troxel <[email protected]> wrote:
> 
> Solomon Peachy via Gimp-print-devel
> <[email protected]> writes:
> 
>> On Wed, Jul 10, 2024 at 08:26:56PM -0400, Greg Troxel wrote:
>>> Strictly, a program should specify --std=cNN for the variant it is
>>> written in.  But I think the default -- so far -- is almost always c99
>>> so often this doesn't happen.
>> 
>> gcc jumped from 'gnu89' straight to 'gnu11' and currently defaults to 
>> 'gnu17'.  At no point did GCC ever default to c99 (or gnu99).
> 
> Wow, but I learn something new every day.  Anyway, I think we'll all
> happy with --std=c99.
> 
>>> I ran make check, and it passed ppds and is still going.
>> 
>> This will take some hours depending on the speed of your system.
> 
> It took 12 hours, and that's on a 9th-gen i7!  But I got a clean pass.
> 
>> What does 'man strdup' and 'man localtime_r' list as requirements for 
>> use on these problematic platforms?
> 
> On NetBSD, strdup says the following (leaving out stuff in the middle)
> and it works without any defines.
> 
>  SYNOPSIS
>       #include <string.h>
> 
>       char *
>       strdup(const char *str);
> 
>       char *
>       strndup(const char *str, size_t len);
> 
>  STANDARDS
>       The strdup() function conforms to IEEE Std 1003.1-2001 (“POSIX.1”).
> 
>  HISTORY
>       The strdup() function first appeared in 4.4BSD.  The strndup() function
>       was added in NetBSD 4.0.
> 
> man localtime_r says:
> 
>  SYNOPSIS
>       #include <time.h>
> 
>       struct tm *
>       localtime_r(const time_t * restrict clock, struct tm * restrict result);
> 
>  STANDARDS
>       The ctime(), difftime(), asctime(), localtime(), gmtime() and mktime()
>       functions conform to ANSI X3.159-1989 (“ANSI C89”).  Rest of the
>       functions conform to IEEE Std 1003.1-2008 (“POSIX.1”).
> 

macos 12.7.5 responds as--
man strdup
NAME
     strdup, strndup – save a copy of a string

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <string.h>

     char *
     strdup(const char *s1);

     char *
     strndup(const char *s1, size_t n);

DESCRIPTION
     The strdup() function allocates sufficient memory for a copy of the string
     s1, does the copy, and returns a pointer to it.  The pointer may
     subsequently be used as an argument to the function free(3).

     If insufficient memory is available, NULL is returned and errno is set to
     ENOMEM.

     The strndup() function copies at most n characters from the string s1
     always NUL terminating the copied string.

SEE ALSO
     free(3), malloc(3)

HISTORY
     The strdup() function first appeared in 4.4BSD.  The strndup() function was
     added in FreeBSD 7.2.

macOS 12.7                      December 5, 2008                      macOS 12.7

=======================================
man localtime_r
CTIME(3)                    Library Functions Manual                    CTIME(3)

NAME
     asctime, asctime_r, ctime, ctime_r, difftime, gmtime, gmtime_r, localtime,
     localtime_r, mktime, timegm, timelocal – transform binary date and time
     values

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <time.h>

     extern char *tzname[2];

     char *
     asctime(const struct tm *timeptr);

...

SEE ALSO
     date(1), gettimeofday(2), getenv(3), time(3), tzset(3), tzfile(5)

STANDARDS
     The asctime(), ctime(), difftime(), gmtime(), localtime(), and mktime()
     functions conform to ISO/IEC 9899:1990 (“ISO C90”), and conform to ISO/IEC
     9945-1:1996 (“POSIX.1”) provided the selected local timezone does not
     contain a leap-second table (see zic(8)).

     The asctime_r(), ctime_r(), gmtime_r(), and localtime_r() functions are
     expected to conform to ISO/IEC 9945-1:1996 (“POSIX.1”) (again provided the
     selected local timezone does not contain a leap-second table).

     The timegm() function is not specified by any standard; its function cannot
     be completely emulated using the standard functions described above.

HISTORY
     This manual page is derived from the time package contributed to Berkeley
     by Arthur Olson and which appeared in 4.3BSD.

BUGS
     Except for difftime(), mktime(), and the _r() variants of the other
     functions, these functions leaves their result in an internal static object
     and return a pointer to that object.  Subsequent calls to these function
     will modify the same object.

     The C Standard provides no mechanism for a program to modify its current
     local timezone setting, and the POSIX-standard method is not reentrant.
     (However, thread-safe implementations are provided in the POSIX threaded
     environment.)

     The tm_zone field of a returned tm structure points to a static array of
     characters, which will also be overwritten by any subsequent calls (as well
     as by subsequent calls to tzset(3) and tzsetwall(3)).

     Use of the external variable tzname is discouraged; the tm_zone entry in
     the tm structure is preferred.

macOS 12.7                       January 2, 1999                      macOS 12.7

Matt





_______________________________________________
Gimp-print-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gimp-print-devel