Use PyOS_snprintf when possible.
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 @@
 		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 @@
 	
 	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 @@
 	if (PyErr_Occurred())
 		return;
 	else if (message == NULL) {
+		/* XXX snprintf */
 		if (fname != NULL) {
 			sprintf(p, "%.200s() ", fname);
 			p += strlen(p);
@@ -294,19 +297,20 @@
 	
 	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 @@
 {
 	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 @@
 	   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);