1. Си / Говнокод #13005

    +132

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    if (dest_lstat_ok)
        {
          if (S_ISDIR (dest_stats.st_mode))
            {
              error (0, 0, _("%s: cannot overwrite directory"), quote (dest));
              return false;
            }
          if (interactive)
            {
              fprintf (stderr, _("%s: replace %s? "), program_name, quote (dest));
              if (!yesno ())
                return true;
              remove_existing_files = true;
            }
    
          if (backup_type != no_backups)
            {
              dest_backup = find_backup_file_name (dest, backup_type);
              if (rename (dest, dest_backup) != 0)
                {
                  int rename_errno = errno;
                  free (dest_backup);
                  dest_backup = NULL;
                  if (rename_errno != ENOENT)
                    {
                      error (0, rename_errno, _("cannot backup %s"), quote (dest));
                      return false;
                    }
                }
            }
        }
    
      if (relative)
        source = rel_source = convert_abs_rel (source, dest);
    
      ok = ((symbolic_link ? symlink (source, dest)
             : linkat (AT_FDCWD, source, AT_FDCWD, dest,
                       logical ? AT_SYMLINK_FOLLOW : 0))
            == 0);

    Coreutils такой coreutils

    Запостил: serpinski, 15 Мая 2013

    Комментарии (4) RSS

    Добавить комментарий