]> diplodocus.org Git - nmh/blobdiff - uip/annosbr.c
Added mention of "Reply to <address>?" prompt to repl(1) man
[nmh] / uip / annosbr.c
index 2f40560b51e2c14b991030dfa698b8c5c7d80921..a73c8277e815861454883fb2a6cb3ecfb9071326 100644 (file)
@@ -32,15 +32,20 @@ annotate (char *file, char *comp, char *text, int inplace, int datesw, int delet
     int                        i, fd;
     struct utimbuf     b;
     struct stat                s;
     int                        i, fd;
     struct utimbuf     b;
     struct stat                s;
+    int                        failed_to_lock = 0;
 
     /* open and lock the file to be annotated */
 
     /* open and lock the file to be annotated */
-    if ((fd = lkopendata (file, O_RDWR, 0)) == NOTOK) {
+    if ((fd = lkopendata (file, O_RDWR, 0, &failed_to_lock)) == NOTOK) {
        switch (errno) {
            case ENOENT:
                break;
 
            default:
        switch (errno) {
            case ENOENT:
                break;
 
            default:
-               admonish (file, "unable to lock and open");
+               if (failed_to_lock) {
+                   admonish (file, "unable to lock");
+               } else {
+                   admonish (file, "unable to open");
+               }
                break;
        }
        return 1;
                break;
        }
        return 1;
@@ -415,13 +420,13 @@ annosbr (int fd, char *file, char *comp, char *text, int inplace, int datesw, in
 
        cpydata (tmpfd, fd, tmpfil, file);
        close (tmpfd);
 
        cpydata (tmpfd, fd, tmpfil, file);
        close (tmpfd);
-       unlink (tmpfil);
+       (void) m_unlink (tmpfil);
     } else {
        strncpy (buffer, m_backup (file), sizeof(buffer));
        if (rename (file, buffer) == NOTOK) {
            switch (errno) {
                case ENOENT:    /* unlinked early - no annotations */
     } else {
        strncpy (buffer, m_backup (file), sizeof(buffer));
        if (rename (file, buffer) == NOTOK) {
            switch (errno) {
                case ENOENT:    /* unlinked early - no annotations */
-                   unlink (tmpfil);
+                   (void) m_unlink (tmpfil);
                    break;
 
                default:
                    break;
 
                default: