too many parameters on command line

I am wondering why I receive the error: "While executing printf, the following error occurred: too many parameters on command line" with the following snippet of code, which is part of a larger function


Variable index2 = 0
String boxcontent = ""
	
	for (index2 = 0; index2 < length; index2 +=1)
		String path2 = StringFromList(index2, outputPaths, "\r")		
		Open /R refNum as path2
		if (index2 == 0)			
			String buffer
			Variable lineNumber = 0
			do
				FReadline refNum, buffer
				if (StringMatch(buffer, "IP*"))		
					String regExp = "(IP)(\\s+)(\-?[[:digit:]]+\.[[:digit:]]+)"
					String parameter, space, number
					SplitString /E = (regExp) buffer, parameter, space, number			
					Variable IP = str2num(number)-Fc	// Fc is a variable generated above
					String sIP = num2str(IP)	                         // sIP is the string "-1" here
					String newvalue
					sprintf newvalue, "IP: ", sIP
					boxcontent += newvalue
				endif
			lineNumber += 1
			while (lineNumber <= 46)			
		endif
		
	endfor


This error seems a bit cryptic to me, and when I choose the "Explain Error" feature in Igor, it only says "Certain commands like Duplicate and Remove can handle no more than 100 wave names in their parameter lists." Since I'm not dealing with more than 100 wave names, I don't quite understand this. I'm also confused by the error "While executing printf...", because I'm not executing printf, I'm executing sprintf. I'd greatly appreciate any help here. Thanks,

Kevin
The explanation help is incorrect in this context.

The problem is this:

sprintf newvalue, "IP: ", sIP


An sprintf command must have one conversion specification (e.g., "%d", "%g", "%s") for each parameter after the format string. Change it to:

sprintf newvalue, "IP: %s", sIP


Or better yet, change it to:

sprintf newvalue, "IP: %g", IP

and get rid of sIP.

sprintf newvalue, "IP: ", sIP


should read


sprintf newvalue, "IP: %s", sIP


The error message is a bit confusing; agreed.
Yes, I see my problem now. I think I got caught up on the "too many parameters on the command line" bit and didn't see my error! Thanks very much for your help.

Kevin