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]

Reply via email to