summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorJeremy Hylton <jeremy@alum.mit.edu>2001-11-28 20:29:22 (GMT)
committerJeremy Hylton <jeremy@alum.mit.edu>2001-11-28 20:29:22 (GMT)
commit23ae9874013d228e1574f12274362c46a227f347 (patch)
treee8ba2f23c6a6c1daf92370125a238ea99462b630 /Python
parent885d457709c1d680c899dc3d035a47c8fb514cfa (diff)
downloadcpython-23ae9874013d228e1574f12274362c46a227f347.zip
cpython-23ae9874013d228e1574f12274362c46a227f347.tar.gz
cpython-23ae9874013d228e1574f12274362c46a227f347.tar.bz2
Use PyOS_snprintf when possible.
Diffstat (limited to 'Python')
-rw-r--r--Python/getargs.c75
1 files changed, 41 insertions, 34 deletions
diff --git a/Python/getargs.c b/Python/getargs.c
index c80ca58..b7bbb5a 100644
--- a/Python/getargs.c
+++ b/Python/getargs.c
@@ -135,18 +135,19 @@ vgetargs1(PyObject *args, char *format, va_list *p_va, int compat)
if (max == 0) {
if (args == NULL)
return 1;
- sprintf(msgbuf, "%.200s%s takes no arguments",
- fname==NULL ? "function" : fname,
- fname==NULL ? "" : "()");
+ PyOS_snprintf(msgbuf, sizeof(msgbuf),
+ "%.200s%s takes no arguments",
+ fname==NULL ? "function" : fname,
+ fname==NULL ? "" : "()");
PyErr_SetString(PyExc_TypeError, msgbuf);
return 0;
}
else if (min == 1 && max == 1) {
if (args == NULL) {
- sprintf(msgbuf,
- "%.200s%s takes at least one argument",
- fname==NULL ? "function" : fname,
- fname==NULL ? "" : "()");
+ PyOS_snprintf(msgbuf, sizeof(msgbuf),
+ "%.200s%s takes at least one argument",
+ fname==NULL ? "function" : fname,
+ fname==NULL ? "" : "()");
PyErr_SetString(PyExc_TypeError, msgbuf);
return 0;
}
@@ -173,15 +174,16 @@ vgetargs1(PyObject *args, char *format, va_list *p_va, int compat)
if (len < min || max < len) {
if (message == NULL) {
- sprintf(msgbuf,
- "%.150s%s takes %s %d argument%s (%d given)",
- fname==NULL ? "function" : fname,
- fname==NULL ? "" : "()",
- min==max ? "exactly"
- : len < min ? "at least" : "at most",
- len < min ? min : max,
- (len < min ? min : max) == 1 ? "" : "s",
- len);
+ PyOS_snprintf(msgbuf, sizeof(msgbuf),
+ "%.150s%s takes %s %d argument%s "
+ "(%d given)",
+ fname==NULL ? "function" : fname,
+ fname==NULL ? "" : "()",
+ min==max ? "exactly"
+ : len < min ? "at least" : "at most",
+ len < min ? min : max,
+ (len < min ? min : max) == 1 ? "" : "s",
+ len);
message = msgbuf;
}
PyErr_SetString(PyExc_TypeError, message);
@@ -222,6 +224,7 @@ seterror(int iarg, char *msg, int *levels, char *fname, char *message)
if (PyErr_Occurred())
return;
else if (message == NULL) {
+ /* XXX snprintf */
if (fname != NULL) {
sprintf(p, "%.200s() ", fname);
p += strlen(p);
@@ -294,19 +297,20 @@ converttuple(PyObject *arg, char **p_format, va_list *p_va, int *levels,
if (!PySequence_Check(arg) || PyString_Check(arg)) {
levels[0] = 0;
- sprintf(msgbuf,
- toplevel ? "expected %d arguments, not %.50s" :
- "must be %d-item sequence, not %.50s",
- n, arg == Py_None ? "None" : arg->ob_type->tp_name);
+ PyOS_snprintf(msgbuf, sizeof(msgbuf),
+ toplevel ? "expected %d arguments, not %.50s" :
+ "must be %d-item sequence, not %.50s",
+ n,
+ arg == Py_None ? "None" : arg->ob_type->tp_name);
return msgbuf;
}
if ((i = PySequence_Size(arg)) != n) {
levels[0] = 0;
- sprintf(msgbuf,
- toplevel ? "expected %d arguments, not %d" :
- "must be sequence of length %d, not %d",
- n, i);
+ PyOS_snprintf(msgbuf, sizeof(msgbuf),
+ toplevel ? "expected %d arguments, not %d" :
+ "must be sequence of length %d, not %d",
+ n, i);
return msgbuf;
}
@@ -366,7 +370,9 @@ converterr(char *expected, PyObject *arg, char *msgbuf)
{
assert(expected != NULL);
assert(arg != NULL);
- sprintf(msgbuf, "must be %.50s, not %.50s", expected,
+ /* XXX use snprintf? */
+ sprintf(msgbuf,
+ "must be %.50s, not %.50s", expected,
arg == Py_None ? "None" : arg->ob_type->tp_name);
return msgbuf;
}
@@ -1129,15 +1135,16 @@ vgetargskeywords(PyObject *args, PyObject *keywords, char *format,
are not included in the "%d given" part of the message */
if (len < min || max < len) {
if (message == NULL) {
- sprintf(msgbuf,
- "%.200s%s takes %s %d argument%s (%d given)",
- fname==NULL ? "function" : fname,
- fname==NULL ? "" : "()",
- min==max ? "exactly"
- : len < min ? "at least" : "at most",
- len < min ? min : max,
- (len < min ? min : max) == 1 ? "" : "s",
- len);
+ PyOS_snprintf(msgbuf, sizeof(msgbuf),
+ "%.200s%s takes %s %d argument%s "
+ "(%d given)",
+ fname==NULL ? "function" : fname,
+ fname==NULL ? "" : "()",
+ min==max ? "exactly"
+ : len < min ? "at least" : "at most",
+ len < min ? min : max,
+ (len < min ? min : max) == 1 ? "" : "s",
+ len);
message = msgbuf;
}
PyErr_SetString(PyExc_TypeError, message);