| | 817 | | char * |
| true | 818 | | trc_old_pvm_event_string( ID, eid ) |
| | 819 | | TRC_ID ID; |
| | 820 | | int eid; |
| | 821 | | { |
| | 822 | | char result[4096]; |
| | 823 | | char tmp[2048]; |
| | 824 | | char buf[1024]; |
| | 825 | | |
| | 826 | | char *fmt; |
| | 827 | | char *str; |
| | 828 | | |
| | 829 | | int keeplist[10]; |
| | 830 | | |
| | 831 | | int vecflag; |
| | 832 | | int veclen; |
| | 833 | | int index; |
| | 834 | | int nkeep; |
| | 835 | | int keep; |
| | 836 | | int ival; |
| | 837 | | int sep; |
| | 838 | | |
| | 839 | | fmt = trc_old_tev_formats[ eid ].fmt; |
| | 840 | | |
| | 841 | | if ( fmt != NULL )
|
| | 842 | | { |
| | 843 | | nkeep = 0; |
| | 844 | | |
| | 845 | | if ( *fmt != '=' ) |
| | 846 | | sprintf( result, "%s", trc_old_tev_formats[ eid ].name ); |
| | 847 | | |
| | 848 | | else |
| | 849 | | sprintf( result, "%s() ", trc_old_tev_formats[ eid ].name ); |
| | 850 | | |
| | 851 | | while ( *fmt ) |
| | 852 | | { |
| | 853 | | if ( *fmt == '%' ) |
| | 854 | | { |
| | 855 | | fmt++; |
| | 856 | | |
| | 857 | | if ( *fmt == '*' ) |
| | 858 | | { |
| | 859 | | keep = TRC_TRUE;
|
| | 860 | | |
| | 861 | | fmt++; |
| | 862 | | } |
| | 863 | | |
| | 864 | | else |
| | 865 | | keep = TRC_FALSE;
|
| | 866 | | |
| | 867 | | if ( *fmt == '$' ) |
| | 868 | | { |
| | 869 | | fmt++; |
| | 870 | | |
| | 871 | | index = *fmt - '0'; |
| | 872 | | |
| | 873 | | fmt++; |
| | 874 | | |
| | 875 | | veclen = ( index >= 0 && index < nkeep ) |
| | 876 | | ? keeplist[index] : 0; |
| | 877 | | |
| | 878 | | vecflag = TRC_TRUE;
|
| | 879 | | |
| | 880 | | sep = TRC_FALSE;
|
| | 881 | | } |
| | 882 | | |
| | 883 | | else |
| | 884 | | { |
| | 885 | | veclen = 1; |
| | 886 | | |
| | 887 | | vecflag = TRC_FALSE;
|
| | 888 | | } |
| | 889 | | |
| | 890 | | while ( veclen > 0 ) |
| | 891 | | { |
| | 892 | | veclen--; |
| | 893 | | |
| | 894 | | if ( vecflag ) |
| | 895 | | { |
| | 896 | | if ( sep ) |
| | 897 | | trc_append_str( result, " ", 4096 ); |
| | 898 | | |
| | 899 | | sep = TRC_TRUE;
|
| | 900 | | } |
| | 901 | | |
| | 902 | | switch ( *fmt ) |
| | 903 | | { |
| | 904 | | case 'd': |
| | 905 | | { |
| | 906 | | fscanf( ID->trace_in, ", %d", &ival ); |
| | 907 | | |
| | 908 | | sprintf( tmp, " %d", ival ); |
| | 909 | | |
| | 910 | | trc_append_str( result, tmp, 4096 ); |
| | 911 | | |
| | 912 | | break; |
| | | | ... |
| | 964 | | } |
| | 965 | | |
| | 966 | | else |
| | 967 | | sprintf( tmp, " 0x%x", ival ); |
| | 968 | | |
| | 969 | | trc_append_str( result, tmp, 4096 ); |
| | 970 | | |
| | 971 | | break; |
| | 972 | | } |
| | 973 | | |
| | 974 | | case 'x': |
| | 975 | | { |
| | 976 | | fscanf( ID->trace_in, ", %d", &ival ); |
| | 977 | | |
| ival is uninitialized | 978 | | sprintf( tmp, " 0x%x", ival ); |