Vom Aufbau her semmelt der Ausschnitt da gnadenlos ab.
Der erste Parameter sollte ein Filehandle sein (FILE*), da einfach 1 reinzusetzen, riecht nach boshafter Absicht.
Das zweite soll eine Format-Maske darstellen mit einem String-Parameter. Der . gibt an, dass alles bis zum Typ (das s) die Präzision darstellt. Da die Präzision als * angegeben ist, erwartet fprintf vor dem Inhalt für den Typ die Länge als eigenen Wert.
s und p sollen vermutlich Pointer sein, in C benutzt man sowas als String-Ersatz. p muß ein Pointer innerhalb des Stringes sein, auf den s zeigt.
p - s gibt also die Länge der anzuzeigenden Sequenz des Stringes wieder, p den Zeiger auf den ersten Buchstaben der ausgegeben werden soll.
Hier verwundert, daß der letzte Parameter p ist, meines Erachtens nach sollte das s sein. Es sei denn, es ist gewünscht, daß die Ausgabe den Ausschnitt aus dem String nimmt, der gleich lang ist, wie der Anfang bis zum Zeichen p.
Um Himmels willen, bleib von dem Code weg. Das ist grauenhaft.
Wenn der, der das geschrieben hat, ein C-Experte ist, dann unterstelle ich ihm böse Absicht.
Sonst würde ich sagen, er hat da rumprobiert, aber das ganze nie wirklich getestet.