From 4b0c607ea35b5e76fef56a6fc0401f11f794134a Mon Sep 17 00:00:00 2001 From: Maxim Poliakovski Date: Thu, 6 Feb 2020 15:01:27 +0100 Subject: [PATCH] Bring back strcpy/strcat --- cpu/ppc/ppcdisasm.cpp | 191 +++++++++++++++++++++--------------------- 1 file changed, 95 insertions(+), 96 deletions(-) diff --git a/cpu/ppc/ppcdisasm.cpp b/cpu/ppc/ppcdisasm.cpp index da7b100..1c19d01 100644 --- a/cpu/ppc/ppcdisasm.cpp +++ b/cpu/ppc/ppcdisasm.cpp @@ -4,7 +4,6 @@ #include #include -#include //Mandated by Visual Studio #include "ppcdisasm.h" using namespace std; @@ -295,10 +294,10 @@ void generic_bcx(PPCDisasmContext* ctx, uint32_t bo, uint32_t bi, uint32_t dst) char opcode[10] = "bc"; if (ctx->instr_code & 1) { - strcat_s(opcode, "l"); /* add suffix "l" if the LK bit is set */ + strcat(opcode, "l"); /* add suffix "l" if the LK bit is set */ } if (ctx->instr_code & 2) { - strcat_s(opcode, "a"); /* add suffix "a" if the AA bit is set */ + strcat(opcode, "a"); /* add suffix "a" if the AA bit is set */ } ctx->instr_str = my_sprintf("%-8s%d, %d, 0x%08X", opcode, bo, bi, dst); } @@ -308,7 +307,7 @@ void generic_bcctrx(PPCDisasmContext* ctx, uint32_t bo, uint32_t bi) char opcode[10] = "bcctr"; if (ctx->instr_code & 1) { - strcat_s(opcode, "l"); /* add suffix "l" if the LK bit is set */ + strcat(opcode, "l"); /* add suffix "l" if the LK bit is set */ } ctx->instr_str = my_sprintf("%-8s%d, %d, 0x%08X", opcode, bo, bi); @@ -319,7 +318,7 @@ void generic_bclrx(PPCDisasmContext* ctx, uint32_t bo, uint32_t bi) char opcode[10] = "bclr"; if (ctx->instr_code & 1) { - strcat_s(opcode, "l"); /* add suffix "l" if the LK bit is set */ + strcat(opcode, "l"); /* add suffix "l" if the LK bit is set */ } ctx->instr_str = my_sprintf("%-8s%d, %d, 0x%08X", opcode, bo, bi); @@ -349,34 +348,34 @@ void opc_bcx(PPCDisasmContext* ctx) } if (!(bo & 4)) { - strcat_s(opcode, "d"); - strcat_s(opcode, (bo & 2) ? "z" : "nz"); + strcat(opcode, "d"); + strcat(opcode, (bo & 2) ? "z" : "nz"); if (!(bo & 0x10)) { - strcat_s(opcode, (bo & 8) ? "t" : "f"); + strcat(opcode, (bo & 8) ? "t" : "f"); if (cr) { - strcat_s(operands, "4*cr0+"); + strcat(operands, "4*cr0+"); operands[4] = cr + '0'; } - strcat_s(operands, br_cond[4 + (bi & 3)]); - strcat_s(operands, ", "); + strcat(operands, br_cond[4 + (bi & 3)]); + strcat(operands, ", "); } } else { /* CTR ignored */ - strcat_s(opcode, br_cond[((bo >> 1) & 4) | (bi & 3)]); + strcat(opcode, br_cond[((bo >> 1) & 4) | (bi & 3)]); if (cr) { - strcat_s(operands, "cr0, "); + strcat(operands, "cr0, "); operands[2] = cr + '0'; } } if (ctx->instr_code & 1) { - strcat_s(opcode, "l"); /* add suffix "l" if the LK bit is set */ + strcat(opcode, "l"); /* add suffix "l" if the LK bit is set */ } if (ctx->instr_code & 2) { - strcat_s(opcode, "a"); /* add suffix "a" if the AA bit is set */ + strcat(opcode, "a"); /* add suffix "a" if the AA bit is set */ } if (bo & 1) { /* incorporate prediction bit if set */ - strcat_s(opcode, (ctx->instr_code & 0x8000) ? "-" : "+"); + strcat(opcode, (ctx->instr_code & 0x8000) ? "-" : "+"); } ctx->instr_str = my_sprintf("%-8s%s0x%08X", opcode, operands, dst); @@ -404,31 +403,31 @@ void opc_bcctrx(PPCDisasmContext* ctx) } if (!(bo & 4)) { - strcat_s(opcode, "d"); - strcat_s(opcode, (bo & 2) ? "z" : "nz"); + strcat(opcode, "d"); + strcat(opcode, (bo & 2) ? "z" : "nz"); if (!(bo & 0x10)) { - strcat_s(opcode, (bo & 8) ? "t" : "f"); + strcat(opcode, (bo & 8) ? "t" : "f"); if (cr) { - strcat_s(operands, "4*cr0+"); + strcat(operands, "4*cr0+"); operands[4] = cr + '0'; } - strcat_s(operands, br_cond[4 + (bi & 3)]); - strcat_s(operands, ", "); + strcat(operands, br_cond[4 + (bi & 3)]); + strcat(operands, ", "); } } else { /* CTR ignored */ - strcat_s(opcode, br_cond[((bo >> 1) & 4) | (bi & 3)]); + strcat(opcode, br_cond[((bo >> 1) & 4) | (bi & 3)]); if (cr) { - strcat_s(operands, "cr0, "); + strcat(operands, "cr0, "); operands[2] = cr + '0'; } } if (ctx->instr_code & 1) { - strcat_s(opcode, "l"); /* add suffix "l" if the LK bit is set */ + strcat(opcode, "l"); /* add suffix "l" if the LK bit is set */ } if (bo & 1) { /* incorporate prediction bit if set */ - strcat_s(opcode, (ctx->instr_code & 0x8000) ? "-" : "+"); + strcat(opcode, (ctx->instr_code & 0x8000) ? "-" : "+"); } ctx->instr_str = my_sprintf("%-8s%s0x%08X", opcode, operands); @@ -456,31 +455,31 @@ void opc_bclrx(PPCDisasmContext* ctx) } if (!(bo & 4)) { - strcat_s(opcode, "d"); - strcat_s(opcode, (bo & 2) ? "z" : "nz"); + strcat(opcode, "d"); + strcat(opcode, (bo & 2) ? "z" : "nz"); if (!(bo & 0x10)) { - strcat_s(opcode, (bo & 8) ? "t" : "f"); + strcat(opcode, (bo & 8) ? "t" : "f"); if (cr) { - strcat_s(operands, "4*cr0+"); + strcat(operands, "4*cr0+"); operands[4] = cr + '0'; } - strcat_s(operands, br_cond[4 + (bi & 3)]); - strcat_s(operands, ", "); + strcat(operands, br_cond[4 + (bi & 3)]); + strcat(operands, ", "); } } else { /* CTR ignored */ - strcat_s(opcode, br_cond[((bo >> 1) & 4) | (bi & 3)]); + strcat(opcode, br_cond[((bo >> 1) & 4) | (bi & 3)]); if (cr) { - strcat_s(operands, "cr0, "); + strcat(operands, "cr0, "); operands[2] = cr + '0'; } } if (ctx->instr_code & 1) { - strcat_s(opcode, "l"); /* add suffix "l" if the LK bit is set */ + strcat(opcode, "l"); /* add suffix "l" if the LK bit is set */ } if (bo & 1) { /* incorporate prediction bit if set */ - strcat_s(opcode, (ctx->instr_code & 0x8000) ? "-" : "+"); + strcat(opcode, (ctx->instr_code & 0x8000) ? "-" : "+"); } ctx->instr_str = my_sprintf("%-8s%s0x%08X", opcode, operands); @@ -632,11 +631,11 @@ void opc_group31(PPCDisasmContext* ctx) opc_illegal(ctx); } else { - strcpy_s(opcode, opc_subs[index]); + strcpy(opcode, opc_subs[index]); if (ext_opc & 0x200) /* check OE bit */ - strcat_s(opcode, "o"); + strcat(opcode, "o"); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); if (index == 3 || index == 6 || index == 7 || index == 11 || index == 15) { /* ugly check for two-operands instructions */ if (rb != 0) @@ -655,11 +654,11 @@ void opc_group31(PPCDisasmContext* ctx) opc_illegal(ctx); } else { - strcpy_s(opcode, opc_adds[index]); + strcpy(opcode, opc_adds[index]); if (ext_opc & 0x200) /* check OE bit */ - strcat_s(opcode, "o"); + strcat(opcode, "o"); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); if (index == 6 || index == 7) { if (rb != 0) opc_illegal(ctx); @@ -677,11 +676,11 @@ void opc_group31(PPCDisasmContext* ctx) opc_illegal(ctx); } else { - strcpy_s(opcode, opc_muldivs[index]); + strcpy(opcode, opc_muldivs[index]); if (ext_opc & 0x200) /* check OE bit */ - strcat_s(opcode, "o"); + strcat(opcode, "o"); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); if ((!index || index == 2) && (ext_opc & 0x200)) opc_illegal(ctx); else @@ -701,13 +700,13 @@ void opc_group31(PPCDisasmContext* ctx) fmt_twoop(ctx->instr_str, rc_set ? "mr." : "mr", ra, rs); } else { - strcpy_s(opcode, opc_logic[index]); + strcpy(opcode, opc_logic[index]); if (!strlen(opcode)) { opc_illegal(ctx); } else { if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); fmt_threeop(ctx->instr_str, opcode, ra, rs, rb); } } @@ -747,10 +746,10 @@ void opc_group31(PPCDisasmContext* ctx) fmt_oneop(ctx->instr_str, "mfcr", rs); break; case 26: /* cntlzw */ - strcpy_s(opcode, "cntlzw"); + strcpy(opcode, "cntlzw"); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); fmt_twoop(ctx->instr_str, opcode, rs, ra); break; @@ -807,10 +806,10 @@ void opc_group59(PPCDisasmContext* ctx) switch (ext_opc & 0x1F) { case 18: /* floating point division */ - strcpy_s(opcode, "fdivs"); + strcpy(opcode, "fdivs"); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); if (rc != 0) opc_illegal(ctx); @@ -820,10 +819,10 @@ void opc_group59(PPCDisasmContext* ctx) return; case 20: /* floating point subtract */ - strcpy_s(opcode, "fsubs"); + strcpy(opcode, "fsubs"); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); if (rc != 0) opc_illegal(ctx); @@ -833,10 +832,10 @@ void opc_group59(PPCDisasmContext* ctx) return; case 21: /* floating point addition */ - strcpy_s(opcode, "fadds"); + strcpy(opcode, "fadds"); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); if (rc != 0) opc_illegal(ctx); @@ -846,10 +845,10 @@ void opc_group59(PPCDisasmContext* ctx) return; case 22: /* floating point square root */ - strcpy_s(opcode, "fsqrts"); + strcpy(opcode, "fsqrts"); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); if ((rc != 0) | (ra != 0)) opc_illegal(ctx); @@ -859,10 +858,10 @@ void opc_group59(PPCDisasmContext* ctx) return; case 24: /* fres */ - strcpy_s(opcode, "fres"); + strcpy(opcode, "fres"); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); if ((rc != 0) | (ra != 0)) opc_illegal(ctx); @@ -873,11 +872,11 @@ void opc_group59(PPCDisasmContext* ctx) case 25: /* fmuls */ - strcpy_s(opcode, opc_flt_ext_arith[25]); - strcat_s(opcode, "s"); + strcpy(opcode, opc_flt_ext_arith[25]); + strcat(opcode, "s"); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); if (rb != 0) opc_illegal(ctx); @@ -888,11 +887,11 @@ void opc_group59(PPCDisasmContext* ctx) case 28: /* fmsubs */ - strcpy_s(opcode, opc_flt_ext_arith[28]); - strcat_s(opcode, "s"); + strcpy(opcode, opc_flt_ext_arith[28]); + strcat(opcode, "s"); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); fmt_fourop_flt(ctx->instr_str, opcode, rs, ra, rb, rc); @@ -900,11 +899,11 @@ void opc_group59(PPCDisasmContext* ctx) case 29: /* fmadds */ - strcpy_s(opcode, opc_flt_ext_arith[29]); - strcat_s(opcode, "s"); + strcpy(opcode, opc_flt_ext_arith[29]); + strcat(opcode, "s"); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); fmt_fourop_flt(ctx->instr_str, opcode, rs, ra, rb, rc); @@ -912,11 +911,11 @@ void opc_group59(PPCDisasmContext* ctx) case 30: /* fnmsubs */ - strcpy_s(opcode, opc_flt_ext_arith[30]); - strcat_s(opcode, "s"); + strcpy(opcode, opc_flt_ext_arith[30]); + strcat(opcode, "s"); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); fmt_fourop_flt(ctx->instr_str, opcode, rs, ra, rb, rc); @@ -924,11 +923,11 @@ void opc_group59(PPCDisasmContext* ctx) case 31: /* fnmadds */ - strcpy_s(opcode, opc_flt_ext_arith[31]); - strcat_s(opcode, "s"); + strcpy(opcode, opc_flt_ext_arith[31]); + strcat(opcode, "s"); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); fmt_fourop_flt(ctx->instr_str, opcode, rs, ra, rb, rc); @@ -951,10 +950,10 @@ void opc_group63(PPCDisasmContext* ctx) switch (ext_opc & 0x1F) { case 18: /* floating point division */ - strcpy_s(opcode, "fdiv"); + strcpy(opcode, "fdiv"); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); if (rc != 0) opc_illegal(ctx); @@ -964,9 +963,9 @@ void opc_group63(PPCDisasmContext* ctx) return; case 20: /* floating point subtract */ - strcpy_s(opcode, "fsub"); + strcpy(opcode, "fsub"); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); if (rc != 0) opc_illegal(ctx); @@ -976,10 +975,10 @@ void opc_group63(PPCDisasmContext* ctx) return; case 21: /* floating point addition */ - strcpy_s(opcode, "fadd"); + strcpy(opcode, "fadd"); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); if (rc != 0) opc_illegal(ctx); @@ -989,10 +988,10 @@ void opc_group63(PPCDisasmContext* ctx) return; case 22: /* floating point square root */ - strcpy_s(opcode, "fsqrt"); + strcpy(opcode, "fsqrt"); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); if ((rc != 0) | (ra != 0)) opc_illegal(ctx); @@ -1003,10 +1002,10 @@ void opc_group63(PPCDisasmContext* ctx) case 25: /* fmul */ - strcpy_s(opcode, opc_flt_ext_arith[25]); + strcpy(opcode, opc_flt_ext_arith[25]); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); if (rb != 0) opc_illegal(ctx); @@ -1016,10 +1015,10 @@ void opc_group63(PPCDisasmContext* ctx) return; case 26: /* frsqrte */ - strcpy_s(opcode, "frsqrte"); + strcpy(opcode, "frsqrte"); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); if ((rc != 0) | (ra != 0)) opc_illegal(ctx); @@ -1029,40 +1028,40 @@ void opc_group63(PPCDisasmContext* ctx) return; case 28: /* fmsub */ - strcpy_s(opcode, opc_flt_ext_arith[28]); + strcpy(opcode, opc_flt_ext_arith[28]); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); fmt_fourop_flt(ctx->instr_str, opcode, rs, ra, rb, rc); return; case 29: /* fmadd */ - strcpy_s(opcode, opc_flt_ext_arith[29]); + strcpy(opcode, opc_flt_ext_arith[29]); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); fmt_fourop_flt(ctx->instr_str, opcode, rs, ra, rb, rc); return; case 30: /* fnmsub */ - strcpy_s(opcode, opc_flt_ext_arith[30]); + strcpy(opcode, opc_flt_ext_arith[30]); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); fmt_fourop_flt(ctx->instr_str, opcode, rs, ra, rb, rc); return; case 31: /* fnmadd */ - strcpy_s(opcode, opc_flt_ext_arith[31]); + strcpy(opcode, opc_flt_ext_arith[31]); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); fmt_fourop_flt(ctx->instr_str, opcode, rs, ra, rb, rc); @@ -1103,10 +1102,10 @@ void opc_group63(PPCDisasmContext* ctx) ctx->instr_str = my_sprintf("%-8s%d, crf%d, r%d, r%d", "fcmpu", (rs >> 2), ra, rb); break; case 40: /* fneg */ - strcpy_s(opcode, "fneg"); + strcpy(opcode, "fneg"); if (rc_set) - strcat_s(opcode, "."); + strcat(opcode, "."); if (ra != 0) opc_illegal(ctx);