add: gettime (&start_time);
context: main (int argc, char **argv){  int i;  int exit_status;  program_name = argv[0];  setlocale (LC_ALL, "");  bindtextdomain (PACKAGE, LOCALEDIR);  textdomain (PACKAGE);  /* Arrange to close stdout if parse_long_options exits.  */  atexit (close_stdout_wrapper);  parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE, VERSION,		      AUTHORS, usage);  /* Don't close stdout on exit from here on.  */  closeout_func = NULL;  /* Initialize translation table to identity translation. */  for (i = 0; i < 256; i++)    trans_table[i] = i;  /* Decode arguments. */  scanargs (argc, argv);  apply_translations ();  if (input_file != NULL)    {      if (open_fd (STDIN_FILENO, input_file, O_RDONLY, 0) < 0)	error (EXIT_FAILURE, errno, _("opening %s"), quote (input_file));    }  else    input_file = _("standard input");  if (output_file != NULL)    {      mode_t perms = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;      int opts	= (O_CREAT	   | (seek_records || (conversions_mask & C_NOTRUNC) ? 0 : O_TRUNC));      /* Open the output file with *read* access only if we might	 need to read to satisfy a `seek=' request.  If we can't read	 the file, go ahead with write-only access; it might work.  */      if ((! seek_records	   || open_fd (STDOUT_FILENO, output_file, O_RDWR | opts, perms) < 0)	  && open_fd (STDOUT_FILENO, output_file, O_WRONLY | opts, perms) < 0)	error (EXIT_FAILURE, errno, _("opening %s"), quote (output_file));#if HAVE_FTRUNCATE      if (seek_records != 0 && !(conversions_mask & C_NOTRUNC))	{	  struct stat stdout_stat;	  off_t o = seek_records * output_blocksize;	  if ((uintmax_t) o / output_blocksize != seek_records)	    error (EXIT_FAILURE, 0, _("file offset out of range"));	  if (fstat (STDOUT_FILENO, &stdout_stat) != 0)	    error (EXIT_FAILURE, errno, _("cannot fstat %s"),		   quote (output_file));	  /* Complain only when ftruncate fails on a regular file, a	     directory, or a shared memory object, as the 2000-08	     POSIX draft specifies ftruncate's behavior only for these	     file types.  For example, do not complain when Linux 2.4	     ftruncate fails on /dev/fd0.  */	  if (ftruncate (STDOUT_FILENO, o) != 0	      && (S_ISREG (stdout_stat.st_mode)		  || S_ISDIR (stdout_stat.st_mode)		  || S_TYPEISSHM (&stdout_stat)))	    {	      char buf[INT_BUFSIZE_BOUND (off_t)];	      error (EXIT_FAILURE, errno,		     _("advancing past %s bytes in output file %s"),		     offtostr (o, buf), quote (output_file));	    }	}#endif    }  else    {      output_file = _("standard output");    }  install_handler (SIGINT, interrupt_handler);  install_handler (SIGQUIT, interrupt_handler);  install_handler (SIGPIPE, interrupt_handler);  install_handler (SIGINFO, siginfo_handler);  exit_status = dd_copy ();  quit (exit_status);}