Rafael Sadowski said:
> here is a third and last try to push vifm in ports tree.

Now that we have pledge(2), it would probably be a better idea to use
libmagic with fork+pledge.

| +     /* replace single quotes with double */
| +     if (strchr(filename, '\''))
|       {
| -             return -1;
| +             qp = quoted_filename;
| +
| +             do {
| +                     if (*filename == '\'')
| +                             *qp++ = '\\';
| +                     *qp++ = *filename;
| +             } while (*filename++ != '\0');
| +
| +             filename = quoted_filename;
|       }

This is not needed.  And even if it was, comment should have been
different.

| +     switch (fork())
|       {
| -             pclose(pipe);
| -             return -1;
| +             case -1:
| +                     printf("ERROR: forking child process failed\n");
| +                     return -1;
| +             case 0:
| +                     dup2 (pipes[1], STDOUT_FILENO);
| +                     close(pipes[0]);
| +                     close(pipes[1]);
| +                     /* Use the file command to get mimetype */
| +                     execl("/usr/bin/file", "file", "-b", "--mime-type", 
filename);
| +                     exit(0);
| +             default:
| +                     close(pipes[1]);
| +                     (void)read(pipes[0], buf, buf_sz);

Shouldn't the parent process wait(2) for child?

-- 
Dmitrij D. Czarkoff

Reply via email to