chiark
/
gitweb
/
~mdw
/
mLib
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Define flags with macros, to ensure unsignedness.
[mLib]
/
dputf.c
diff --git
a/dputf.c
b/dputf.c
index d78851ffbd10ab1e072c3f9013d5884cdf69fc4e..5df210c055f67c35b8e821a9075c28009956ecc3 100644
(file)
--- a/
dputf.c
+++ b/
dputf.c
@@
-1,6
+1,6
@@
/* -*-c-*-
*
/* -*-c-*-
*
- * $Id: dputf.c,v 1.
2 2000/08/15 21:26:45
mdw Exp $
+ * $Id: dputf.c,v 1.
3 2001/01/20 12:06:01
mdw Exp $
*
* `printf'-style formatting for dynamic strings
*
*
* `printf'-style formatting for dynamic strings
*
@@
-30,6
+30,9
@@
/*----- Revision history --------------------------------------------------*
*
* $Log: dputf.c,v $
/*----- Revision history --------------------------------------------------*
*
* $Log: dputf.c,v $
+ * 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.2 2000/08/15 21:26:45 mdw
* (dstr_vputf): Don't try calling @va_arg@ on things @char@-sized.
*
@@
-84,13
+87,11
@@
int dstr_vputf(dstr *d, const char *p, va_list ap)
unsigned f;
int wd, prec;
unsigned f;
int wd, prec;
- enum {
- f_short = 1,
- f_long = 2,
- f_Long = 4,
- f_wd = 8,
- f_prec = 16
- };
+#define f_short 1u
+#define f_long 2u
+#define f_Long 4u
+#define f_wd 8u
+#define f_prec 16u
/* --- Most stuff gets passed on through --- */
/* --- Most stuff gets passed on through --- */
@@
-198,9
+199,9
@@
int dstr_vputf(dstr *d, const char *p, va_list ap)
if (mx > sz)
sz = mx;
}
if (mx > sz)
sz = mx;
}
- if (
(f & f_prec) == 0
)
+ if (
!(f & f_prec)
)
prec = 6;
prec = 6;
- if ((f & f_prec))
+ else
sz += prec + 16;
if ((f & f_wd) && wd + 1 > sz)
sz = wd + 1;
sz += prec + 16;
if ((f & f_wd) && wd + 1 > sz)
sz = wd + 1;
@@
-270,6
+271,12
@@
int dstr_vputf(dstr *d, const char *p, va_list ap)
formatted:
DRESET(&dd);
q = ++p;
formatted:
DRESET(&dd);
q = ++p;
+
+#undef f_short
+#undef f_long
+#undef f_Long
+#undef f_wd
+#undef f_prec
}
DPUTM(d, q, p - q);
}
DPUTM(d, q, p - q);