summaryrefslogtreecommitdiff
path: root/src/cuda-sim/ptx_ir.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/cuda-sim/ptx_ir.cc')
-rw-r--r--src/cuda-sim/ptx_ir.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cuda-sim/ptx_ir.cc b/src/cuda-sim/ptx_ir.cc
index 6943b48..fa37cc4 100644
--- a/src/cuda-sim/ptx_ir.cc
+++ b/src/cuda-sim/ptx_ir.cc
@@ -1256,10 +1256,12 @@ unsigned function_info::print_insn( unsigned pc, FILE * fp ) const
unsigned index = pc - m_start_PC;
char command[1024];
char buffer[1024];
- snprintf(command,1024,"c++filt -p %s",m_name.c_str());
+ memset(command, 0, 1024);
+ memset(buffer, 0, 1024);
+ snprintf(command,1024,"c++filt -p %s\n",m_name.c_str());
FILE *p = popen(command,"r");
buffer[0]=0;
- fscanf(p,"%1023s",buffer);
+ fgets(buffer, 1023, p);
fprintf(fp,"%s",buffer);
if ( index >= m_instr_mem_size ) {
fprintf(fp, "<past last instruction (max pc=%u)>", m_start_PC + m_instr_mem_size - 1 );