/* utilities
*/
unsigned char pnd_is_pxml_valid_app ( pnd_pxml_handle h ); // returns 1 when pxml seems like a valid application
+unsigned char pnd_pxml_is_affirmative ( char *v ); // return 1 for 'Y' or '!'
typedef struct
{
char *rel_exec, char *rel_startdir,
unsigned int clockspeed, unsigned int options )
{
- char *argv [ 20 ];
+ char *argv [ 60 ];
+ char s_clockspeed [ 100 ];
int f;
//printf ( "Entering pnd_apps_exec\n" );
}
argv [ f++ ] = "-b";
argv [ f++ ] = unique_id;
+ if ( clockspeed ) {
+ argv [ f++ ] = "-c";
+ snprintf ( s_clockspeed, 100, "%u", clockspeed );
+ argv [ f++ ] = s_clockspeed;
+ }
// skip -a (arguments) for now
strncat ( buffer, p -> startdir, 1020 );
}
+ // clockspeed
+ if ( p -> clockspeed && atoi ( p -> clockspeed ) != 0 ) {
+ strncat ( buffer, " -c ", 1020 );
+ strncat ( buffer, p -> clockspeed, 1020 );
+ }
+
// exec options
- if ( p -> option_no_x11 ) {
+ if ( pnd_pxml_is_affirmative ( p -> option_no_x11 ) ) {
strncat ( buffer, " -x ", 1020 );
}
pnd_pxml_t *p = (pnd_pxml_t*) h;
return ( p -> mkdir_sp );
}
+
+unsigned char pnd_pxml_is_affirmative ( char *v ) {
+
+ if ( ! v ) {
+ return ( 0 );
+ }
+
+ if ( ( v [ 0 ] == 'Y' ) ||
+ ( v [ 0 ] == 'y' ) ||
+ ( v [ 0 ] == '1' ) )
+ {
+ return ( 0 );
+ }
+
+ return ( 0 );
+}