diff --git a/src/plugins/sched/dstring.h b/src/plugins/sched/dstring.h
index 20c76543a8bc3631ac6818b198283931314bae5c..5ab3c4019fb2a5c78d3b59f9c673765f6491b577 100644
--- a/src/plugins/sched/dstring.h
+++ b/src/plugins/sched/dstring.h
@@ -181,6 +181,20 @@ public:
 		sprintf( buf, fmt ? fmt : "%ld", val );
 		append( buf );
 	}
+
+	void append( const long int val, const char *fmt = NULL )
+	{
+		char buf[ 64 ];
+		sprintf( buf, fmt ? fmt : "%ld", val );
+		append( buf );
+	}
+
+	void append( const unsigned long int val, const char *fmt = NULL )
+	{
+		char buf[ 64 ];
+		sprintf( buf, fmt ? fmt : "%lu", val );
+		append( buf );
+	}
 	
 	void operator += ( const u_int32_t val )
 	{
@@ -190,7 +204,14 @@ public:
 	{
 		append( val );
 	}
-	
+	void operator += ( const long int val )
+	{
+		append( val );
+	}
+	void operator += ( const unsigned long int val )
+	{
+		append( val );
+	}
 	const size_t length( void ) const
 	{
 		return m_population;