Update of /cvsroot/plib/plib/examples/src/psl
In directory usw-pr-cvs1:/tmp/cvs-serv31278/plib/examples/src/psl
Modified Files:
psl_demo.cxx
Log Message:
Added string constants.
Index: psl_demo.cxx
===================================================================
RCS file: /cvsroot/plib/plib/examples/src/psl/psl_demo.cxx,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- psl_demo.cxx 6 Sep 2002 17:20:56 -0000 1.9
+++ psl_demo.cxx 7 Sep 2002 07:00:32 -0000 1.10
@@ -32,27 +32,37 @@
#include <plib/psl.h>
-pslVariable print ( int argc, pslVariable *argv, pslProgram *p )
+pslValue my_printf ( int argc, pslValue *argv, pslProgram *p )
{
- for ( int i = 0 ; i < argc ; i++ )
- printf ( "%f ", argv[i].f ) ;
+ if ( argv[0].getType() != PSL_STRING )
+ printf ( "printf: ERROR - First param must be a string!\n" ) ;
+ else
+ {
+ printf ( "%s", argv[0].getString() ) ;
+ for ( int i = 1 ; i < argc ; i++ )
+ {
+ switch ( argv[i].getType () )
+ {
+ case PSL_INT : printf ( "%d ", argv[i].getInt () ) ; break ;
+ case PSL_FLOAT : printf ( "%f ", argv[i].getFloat () ) ; break ;
+ case PSL_STRING : printf ( "%s ", argv[i].getString () ) ; break ;
+ case PSL_VOID : printf ( "(void) " ) ; break ;
+ }
+ }
+ }
printf ( "\n" ) ;
- pslVariable ret ;
- ret.f = 0.0f ;
-
+ pslValue ret ;
return ret ;
}
-pslVariable identify ( int argc, pslVariable *argv, pslProgram *p )
+pslValue identify ( int argc, pslValue *argv, pslProgram *p )
{
printf ( "I am %s.\n", (char *)( p->getUserData ()) ) ;
- pslVariable ret ;
- ret.f = 0.0f ;
-
+ pslValue ret ;
return ret ;
}
@@ -60,7 +70,7 @@
pslExtension extensions [] =
{
{ "identify", 0, identify },
- { "print", -1, print },
+ { "printf", -1, my_printf },
{ NULL, 0, NULL }
} ;
@@ -90,7 +100,7 @@
while ( 1 )
{
if ( prog_1 -> step () == PSL_PROGRAM_END ) break ;
- if ( prog_2 -> step () == PSL_PROGRAM_END ) break ;
+// if ( prog_2 -> step () == PSL_PROGRAM_END ) break ;
}
exit ( 0 ) ;
|