Revision: 1106
Author: [email protected]
Date: Mon Mar 8 01:46:38 2010
Log: Abstract writing a new file ID into NYTP_write_new_fid().
http://code.google.com/p/perl-devel-nytprof/source/detail?r=1106
Modified:
/trunk/FileHandle.h
/trunk/FileHandle.xs
/trunk/NYTProf.xs
=======================================
--- /trunk/FileHandle.h Mon Mar 8 01:46:31 2010
+++ /trunk/FileHandle.h Mon Mar 8 01:46:38 2010
@@ -72,3 +72,7 @@
unsigned int ppid, NV time_of_day);
size_t NYTP_write_process_end(NYTP_file ofile, unsigned int pid,
NV time_of_day);
+size_t NYTP_write_new_fid(NYTP_file ofile, unsigned int id,
+ unsigned int eval_fid, unsigned int
eval_line_num,
+ unsigned int flags, unsigned int size,
+ unsigned int mtime, const char *name, I32 len);
=======================================
--- /trunk/FileHandle.xs Mon Mar 8 01:46:31 2010
+++ /trunk/FileHandle.xs Mon Mar 8 01:46:38 2010
@@ -748,6 +748,45 @@
return total;
}
+size_t
+NYTP_write_new_fid(NYTP_file ofile, unsigned int id, unsigned int eval_fid,
+ unsigned int eval_line_num, unsigned int flags,
+ unsigned int size, unsigned int mtime,
+ const char *name, I32 len)
+{
+ size_t total;
+ size_t retval;
+
+ total = retval = output_tag_int(ofile, NYTP_TAG_NEW_FID, id);
+ if (retval < 1)
+ return retval;
+
+ total += retval = output_int(ofile, eval_fid);
+ if (retval < 1)
+ return retval;
+
+ total += retval = output_int(ofile, eval_line_num);
+ if (retval < 1)
+ return retval;
+
+ total += retval = output_int(ofile, flags);
+ if (retval < 1)
+ return retval;
+
+ total += retval = output_int(ofile, size);
+ if (retval < 1)
+ return retval;
+
+ total += retval = output_int(ofile, mtime);
+ if (retval < 1)
+ return retval;
+
+ total += retval = output_str(ofile, name, len);
+ if (retval < 1)
+ return retval;
+
+ return total;
+}
MODULE = Devel::NYTProf::FileHandle PACKAGE =
Devel::NYTProf::FileHandle PREFIX = NYTP_
=======================================
--- /trunk/NYTProf.xs Mon Mar 8 01:46:31 2010
+++ /trunk/NYTProf.xs Mon Mar 8 01:46:38 2010
@@ -629,12 +629,6 @@
file_name = fid_info->key_abs;
file_name_len = strlen(file_name);
}
- output_tag_int(out, NYTP_TAG_NEW_FID, fid_info->id);
- output_int(out, fid_info->eval_fid);
- output_int(out, fid_info->eval_line_num);
- output_int(out, fid_info->fid_flags);
- output_int(out, fid_info->file_size);
- output_int(out, fid_info->file_mtime);
#ifdef WIN32
/* Make sure we only use forward slashes in filenames */
@@ -645,13 +639,19 @@
char ch = file_name[i];
file_name_copy[i] = ch == '\\' ? '/' : ch;
}
- output_str(out, file_name_copy, (I32)file_name_len);
+ NYTP_write_new_fid(out, fid_info->id, fid_info->eval_fid,
+ fid_info->eval_line_num, fid_info->fid_flags,
+ fid_info->file_size, fid_info->file_mtime,
+ file_name_copy, file_name_len);
Safefree(file_name_copy);
return;
}
#endif
- output_str(out, file_name, (I32)file_name_len);
+ NYTP_write_new_fid(out, fid_info->id, fid_info->eval_fid,
+ fid_info->eval_line_num, fid_info->fid_flags,
+ fid_info->file_size, fid_info->file_mtime,
+ file_name, file_name_len);
}
--
You've received this message because you are subscribed to
the Devel::NYTProf Development User group.
Group hosted at: http://groups.google.com/group/develnytprof-dev
Project hosted at: http://perl-devel-nytprof.googlecode.com
CPAN distribution: http://search.cpan.org/dist/Devel-NYTProf
To post, email: [email protected]
To unsubscribe, email: [email protected]