]> git.pld-linux.org Git - projects/setup.git/commitdiff
- added making backup of updated files
authorMichal Moskal <michal@moskal.me>
Mon, 13 Aug 2001 11:51:04 +0000 (11:51 +0000)
committerMichal Moskal <michal@moskal.me>
Mon, 13 Aug 2001 11:51:04 +0000 (11:51 +0000)
Changed files:
    joinpasswd.c -> 1.2

joinpasswd.c

index 42258857d366d91693998b6626114c06e38b7a80..80e4c98c2e13a76c7c1ae247424d0bdab9b45d39 100644 (file)
@@ -70,6 +70,8 @@
 #define FILE3 "/etc/group"
 
 #define SUFFIX ".rpmnew"
+/* maybe "-" or sth? */
+#define BACKUP ".old"
 
 /* #define SILENT */
 
@@ -118,7 +120,7 @@ int exist(char *id, int id_len, char *ptr, int sz)
        return 0;
 }
 
-int join(const char *old_name, const char *new_name)
+int join(const char *old_name, const char *new_name, const char *backup_name)
 {
        char *old, *new, *id;
        int i, fd;
@@ -131,7 +133,13 @@ int join(const char *old_name, const char *new_name)
        old = map_file(old_name, &old_sz);
        if (old == NULL)
                fatal("cannot mmap old");
-
+       
+       fd = open(backup_name, O_WRONLY|O_CREAT|O_TRUNC, 0600);
+       if (fd < 0)
+               fatal("cannot make backup");
+       write(fd, old, old_sz);
+       close(fd);
+       
 #ifndef SILENT
        eputs("marging contest of `");
        eputs(old_name);
This page took 0.033072 seconds and 4 git commands to generate.