Move [v]ssnprintf() from iscsi.c into vsprintf.c; we need them
authorMichael Brown <mcb30@etherboot.org>
Thu, 31 May 2007 13:26:50 +0000 (13:26 +0000)
committerMichael Brown <mcb30@etherboot.org>
Thu, 31 May 2007 13:26:50 +0000 (13:26 +0000)
elsewhere as well.

src/core/vsprintf.c
src/include/gpxe/vsprintf.h
src/net/tcp/iscsi.c

index e6f072e..4457fe4 100644 (file)
@@ -338,6 +338,45 @@ int snprintf ( char *buf, size_t size, const char *fmt, ... ) {
        return i;
 }
 
+/**
+ * Version of vsnprintf() that accepts a signed buffer size
+ *
+ * @v buf              Buffer into which to write the string
+ * @v size             Size of buffer
+ * @v fmt              Format string
+ * @v args             Arguments corresponding to the format string
+ * @ret len            Length of formatted string
+ */
+int vssnprintf ( char *buf, ssize_t ssize, const char *fmt, va_list args ) {
+
+       /* Treat negative buffer size as zero buffer size */
+       if ( ssize < 0 )
+               ssize = 0;
+
+       /* Hand off to vsnprintf */
+       return vsnprintf ( buf, ssize, fmt, args );
+}
+
+/**
+ * Version of vsnprintf() that accepts a signed buffer size
+ *
+ * @v buf              Buffer into which to write the string
+ * @v size             Size of buffer
+ * @v fmt              Format string
+ * @v ...              Arguments corresponding to the format string
+ * @ret len            Length of formatted string
+ */
+int ssnprintf ( char *buf, ssize_t ssize, const char *fmt, ... ) {
+       va_list args;
+       int len;
+
+       /* Hand off to vssnprintf */
+       va_start ( args, fmt );
+       len = vssnprintf ( buf, ssize, fmt, args );
+       va_end ( args );
+       return len;
+}
+
 /**
  * Write character to console
  *
index ac87c5a..9360f29 100644 (file)
@@ -64,4 +64,8 @@ struct printf_context {
 
 extern size_t vcprintf ( struct printf_context *ctx, const char *fmt,
                         va_list args );
+extern int vssnprintf ( char *buf, ssize_t ssize, const char *fmt,
+                       va_list args );
+extern int ssnprintf ( char *buf, ssize_t ssize, const char *fmt, ... );
+
 #endif /* _GPXE_VSPRINTF_H */
index 5656797..f95286d 100644 (file)
@@ -23,6 +23,7 @@
 #include <errno.h>
 #include <assert.h>
 #include <byteswap.h>
+#include <gpxe/vsprintf.h>
 #include <gpxe/scsi.h>
 #include <gpxe/process.h>
 #include <gpxe/uaccess.h>
@@ -348,32 +349,6 @@ static void iscsi_tx_data_out ( struct iscsi_session *iscsi,
  *
  */
 
-/**
- * Version of snprintf() that accepts a signed buffer size
- *
- * @v buf              Buffer into which to write the string
- * @v size             Size of buffer
- * @v fmt              Format string
- * @v args             Arguments corresponding to the format string
- * @ret len            Length of formatted string
- *
- * This is a utility function for iscsi_build_login_request_strings().
- */
-static int ssnprintf ( char *buf, ssize_t ssize, const char *fmt, ... ) {
-       va_list args;
-       int len;
-
-       /* Treat negative buffer size as zero buffer size */
-       if ( ssize < 0 )
-               ssize = 0;
-
-       /* Hand off to vsnprintf */
-       va_start ( args, fmt );
-       len = vsnprintf ( buf, ssize, fmt, args );
-       va_end ( args );
-       return len;
-}
-
 /**
  * Build iSCSI login request strings
  *