int main(int argc, char **argv) { char buffer[1024]; int decpt, sign; char *rve; pspDebugScreenInit(); pspDebugScreenPrintf("%d", 0); checkSetLessThan(); checkLeftShift(); checkRightShift(); /* dtoa(double d, int mode, int ndigits, int *decpt, int *sign, char **rve); */ emitString((char *)_itoa(12345678, buffer, 10)); emitLong(0x0123456789ABCDEFL); emitLong(testArguments(0x100, 0x1234567800000000L, 9.0f)); test(); checkFloat24(1.0f); emitFloat(2.0f / GlobalFloat); //emitString(dtoa(1234.567, 0, 10, &decpt, &sign, &rve)); return 0; }
/*=export_func optionParseShell * private: * * what: Decipher a boolean value * arg: + tOptions* + pOpts + program options descriptor + * * doc: * Emit a shell script that will parse the command line options. =*/ void optionParseShell( tOptions* pOpts ) { /* * Check for our SHELL option now. * IF the output file contains the "#!" magic marker, * it will override anything we do here. */ if (HAVE_OPT( SHELL )) pzShell = OPT_ARG( SHELL ); else if (! ENABLED_OPT( SHELL )) pzShell = NULL; else if ((pzShell = getenv( "SHELL" )), pzShell == NULL) pzShell = "/bin/sh"; /* * Check for a specified output file */ if (HAVE_OPT( SCRIPT )) openOutput( OPT_ARG( SCRIPT )); emitUsage( pOpts ); emitSetup( pOpts ); /* * There are four modes of option processing. */ switch (pOpts->fOptSet & (OPTPROC_LONGOPT|OPTPROC_SHORTOPT)) { case OPTPROC_LONGOPT: fputs( zLoopCase, stdout ); fputs( zLongSelection, stdout ); fputs( zLongOptInit, stdout ); emitLong( pOpts ); printf( zLongOptArg, pOpts->pzPROGNAME ); fputs( zEndSelection, stdout ); fputs( zNoSelection, stdout ); break; case 0: fputs( zLoopOnly, stdout ); fputs( zLongOptInit, stdout ); emitLong( pOpts ); printf( zLongOptArg, pOpts->pzPROGNAME ); break; case OPTPROC_SHORTOPT: fputs( zLoopCase, stdout ); fputs( zFlagSelection, stdout ); fputs( zFlagOptInit, stdout ); emitFlag( pOpts ); printf( zFlagOptArg, pOpts->pzPROGNAME ); fputs( zEndSelection, stdout ); fputs( zNoSelection, stdout ); break; case OPTPROC_LONGOPT|OPTPROC_SHORTOPT: fputs( zLoopCase, stdout ); fputs( zLongSelection, stdout ); fputs( zLongOptInit, stdout ); emitLong( pOpts ); printf( zLongOptArg, pOpts->pzPROGNAME ); fputs( zEndSelection, stdout ); fputs( zFlagSelection, stdout ); fputs( zFlagOptInit, stdout ); emitFlag( pOpts ); printf( zFlagOptArg, pOpts->pzPROGNAME ); fputs( zEndSelection, stdout ); fputs( zNoSelection, stdout ); break; } printf( zLoopEnd, pOpts->pzPROGNAME, zTrailerMarker ); if ((pzTrailer != NULL) && (*pzTrailer != '\0')) fputs( pzTrailer, stdout ); else if (ENABLED_OPT( SHELL )) printf( "\nenv | grep '^%s_'\n", pOpts->pzPROGNAME ); fflush( stdout ); fchmod( STDOUT_FILENO, 0755 ); fclose( stdout ); }
/*=export_func optionParseShell * private: * * what: Decipher a boolean value * arg: + tOptions* + pOpts + program options descriptor + * * doc: * Emit a shell script that will parse the command line options. =*/ void optionParseShell(tOptions * pOpts) { /* * Check for our SHELL option now. * IF the output file contains the "#!" magic marker, * it will override anything we do here. */ if (HAVE_GENSHELL_OPT(SHELL)) shell_prog = GENSHELL_OPT_ARG(SHELL); else if (! ENABLED_GENSHELL_OPT(SHELL)) shell_prog = NULL; else if ((shell_prog = getenv("SHELL")), shell_prog == NULL) shell_prog = POSIX_SHELL; /* * Check for a specified output file */ if (HAVE_GENSHELL_OPT(SCRIPT)) open_out(GENSHELL_OPT_ARG(SCRIPT)); emit_usage(pOpts); emit_setup(pOpts); /* * There are four modes of option processing. */ switch (pOpts->fOptSet & (OPTPROC_LONGOPT|OPTPROC_SHORTOPT)) { case OPTPROC_LONGOPT: fputs(LOOP_STR, stdout); fputs(LONG_OPT_MARK, stdout); fputs(INIT_LOPT_STR, stdout); emitLong(pOpts); printf(LOPT_ARG_FMT, pOpts->pzPROGNAME); fputs(END_OPT_SEL_STR, stdout); fputs(NOT_FOUND_STR, stdout); break; case 0: fputs(ONLY_OPTS_LOOP, stdout); fputs(INIT_LOPT_STR, stdout); emitLong(pOpts); printf(LOPT_ARG_FMT, pOpts->pzPROGNAME); break; case OPTPROC_SHORTOPT: fputs(LOOP_STR, stdout); fputs(FLAG_OPT_MARK, stdout); fputs(INIT_OPT_STR, stdout); emit_flag(pOpts); printf(OPT_ARG_FMT, pOpts->pzPROGNAME); fputs(END_OPT_SEL_STR, stdout); fputs(NOT_FOUND_STR, stdout); break; case OPTPROC_LONGOPT|OPTPROC_SHORTOPT: fputs(LOOP_STR, stdout); fputs(LONG_OPT_MARK, stdout); fputs(INIT_LOPT_STR, stdout); emitLong(pOpts); printf(LOPT_ARG_FMT, pOpts->pzPROGNAME); fputs(END_OPT_SEL_STR, stdout); fputs(FLAG_OPT_MARK, stdout); fputs(INIT_OPT_STR, stdout); emit_flag(pOpts); printf(OPT_ARG_FMT, pOpts->pzPROGNAME); fputs(END_OPT_SEL_STR, stdout); fputs(NOT_FOUND_STR, stdout); break; } printf(zLoopEnd, pOpts->pzPROGNAME, END_MARK); if ((script_trailer != NULL) && (*script_trailer != NUL)) fputs(script_trailer, stdout); else if (ENABLED_GENSHELL_OPT(SHELL)) printf(SHOW_PROG_ENV, pOpts->pzPROGNAME); fflush(stdout); fchmod(STDOUT_FILENO, 0755); fclose(stdout); if (ferror(stdout)) { fputs(zOutputFail, stderr); exit(EXIT_FAILURE); } }