/* -*-c-*-
*
- * $Id: dputf.c,v 1.5 2002/01/13 13:30:48 mdw Exp $
+ * $Id$
*
* `printf'-style formatting for dynamic strings
*
* (c) 1999 Straylight/Edgeware
*/
-/*----- Licensing notice --------------------------------------------------*
+/*----- Licensing notice --------------------------------------------------*
*
* This file is part of the mLib utilities library.
*
* it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
- *
+ *
* mLib is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Library General Public
* License along with mLib; if not, write to the Free
* Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
* MA 02111-1307, USA.
*/
-/*----- Revision history --------------------------------------------------*
- *
- * $Log: dputf.c,v $
- * Revision 1.5 2002/01/13 13:30:48 mdw
- * Change interface for @dstr_vputf@.
- *
- * Revision 1.4 2001/06/22 19:35:29 mdw
- * Find out whether @<float.h>@ exists (hack for uC-Linux).
- *
- * Revision 1.3 2001/01/20 12:06:01 mdw
- * Define flags with macros, to ensure unsignedness.
- *
- * Revision 1.2 2000/08/15 21:26:45 mdw
- * (dstr_vputf): Don't try calling @va_arg@ on things @char@-sized.
- *
- * Revision 1.1 1999/10/04 21:44:47 mdw
- * Move `dstr_putf' and `dstr_vputf' into a separate source file.
- *
- */
-
/*----- Header files ------------------------------------------------------*/
+#include "config.h"
+
#include <ctype.h>
#include <math.h>
#include <stdarg.h>
DPUTC(&dd, '.');
ip = ≺
f |= f_prec;
+ p++;
goto getnum;
case '*':
ip = &wd;
}
DPUTC(d, *p);
goto formatted;
- getnum:
+ getnum:
*ip = 0;
if (*p == '*') {
*ip = va_arg(*ap, int);
if (!(f & f_prec))
prec = 6;
else
- sz += prec + 16;
+ sz += prec + 16;
if ((f & f_wd) && wd + 1 > sz)
sz = wd + 1;
DENSURE(d, sz);