From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21507 invoked from network); 10 Jun 1999 13:43:34 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 10 Jun 1999 13:43:34 -0000 Received: (qmail 13935 invoked by alias); 10 Jun 1999 13:43:22 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 6571 Received: (qmail 13928 invoked from network); 10 Jun 1999 13:43:21 -0000 Message-Id: <9906101314.AA17582@ibmth.df.unipi.it> To: "ZSH workers mailing list" Subject: Re: cast to (long) in printulimit() (rlimits.c) In-Reply-To: ""Andrej Borsenkow""'s message of "Thu, 10 Jun 1999 17:26:40 DFT." <001b01beb344$dfe4bb90$21c9ca95@mow.siemens.ru> Date: Thu, 10 Jun 1999 15:14:47 +0200 From: Peter Stephenson "Andrej Borsenkow" wrote: > Dunno, if it is significant ... but in this case limit is of type rlim_t and > this is 64 bit if LFS is defined (in my case at least). And e.g. maximum > file size may still exceed 32 bits even in blocks. I suppose it was just laziness, not using the code from the the file size part in this case too. --- Src/Builtins/rlimits.c.rl Wed May 12 13:50:10 1999 +++ Src/Builtins/rlimits.c Thu Jun 10 15:08:05 1999 @@ -222,8 +222,21 @@ /* display the limit */ if (limit == RLIM_INFINITY) printf("unlimited\n"); - else - printf("%ld\n", (long)limit); + else { +# ifdef RLIM_T_IS_QUAD_T + printf("%qd\n", limit); +# else +# ifdef RLIM_T_IS_LONG_LONG + printf("%lld\n", limit); +# else +# ifdef RLIM_T_IS_UNSIGNED + printf("%lu\n", limit); +# else + printf("%ld\n", limit); +# endif /* RLIM_T_IS_UNSIGNED */ +# endif /* RLIM_T_IS_LONG_LONG */ +# endif /* RLIM_T_IS_QUAD_T */ + } } /* limit: set or show resource limits. The variable hard indicates * -- Peter Stephenson Tel: +39 050 844536 WWW: http://www.ifh.de/~pws/ Dipartimento di Fisica, Via Buonarroti 2, 56127 Pisa, Italy