The task is to implement sprintf or modify an existing sprintf. The sprintf source code must be possible to distribute in a commercial - which means that it cannot be ripped from a commercial library or GPL:ed library etc.
The purpose is to make it as small as possible, for which reason it shall not include all options required by ANSI C.
Furthermore, sprintf shall be self-contained and not rely on implementation elsewhere - such as "va_list" etc. (It is allowed, however, to use helper functions etc within the sprintf source file.)
The standard interface shall be used:
int sprintf( char *buffer, const char *format [, argument] ... );
A format specification, which consists of optional and required fields, has the following general form:
%[flags] [width] [.precision] type
Implementation:
* flags shall not be implemented
* width, precision and type shall be implemented
Following types are required (more is allowed):
%d, %u, %x, %X, %c, %s, %f
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
Standard c.