vim/vitmp.c
Ondřej Súkup 10352ffd4d - update to 9.1.1101
* insexpand.c hard to read
 * tests: Test_log_nonexistent only works on Linux
 * Update base-syntax, improve variable matching
 * Vim9: import with extends may crash
 * leaking memory with completing multi lines
 * --log with non-existent path causes a crash
 * if_perl: Perl 5.38 adds new symbols causing link failure
 * tests: matchparen plugin test wrongly named
 * Vim9: problem finding implemented method in type hierarchy
 * runtime(qf): Update syntax file, match second delimiter
 * tests: output of test ...win32_ctrl_z depends on python version
 * tests: fix expected return code for python 3.13 on Windows
 * tests: timeout might be a bit too small
 * tests: test_terminwscroll_topline2 unreliable
 * tests: No check when tests are run under Github actions
 * tests: plugin tests are named inconsistently
 * Vim9: import with extends may crash
 * completion doesn't work with multi lines
 * filetype: cmmt files are not recognized
 * Unable to persistently ignore events in a window and its buffers
 * improve syntax highlighting
 * setreg() doesn't correctly handle mbyte chars in blockwise mode
 * unexpected DCS responses may cause out of bounds reads
 * has('bsd') is true for GNU/Hurd
 * filetype: Mill files are not recognized
 * GUI late startup leads to uninitialized scrollbars
 * Add support for lz4 to tar & gzip plugin
 * Terminal ansi colors off by one after tgc reset
 * included syntax items do not understand contains=TOP

OBS-URL: https://build.opensuse.org/package/show/editors/vim?expand=0&rev=875
2025-02-11 10:42:07 +00:00

31 lines
823 B
C

/*
* This is a wrapper around the VIM editor which may be used to invoke
* the editor in a way that is guaranteed to be suitable for editing
* temporary files used with programs such as crontab(1) and edquota(8).
*
* Written by Solar Designer <solar@owl.openwall.com> and placed in the
* public domain.
*
* $Id: vitmp.c,v 1.2 2002/04/24 23:11:34 solar Exp $
*/
#include <stdio.h>
#include <unistd.h>
#include <string.h>
int main(int argc, const char * const *argv)
{
char *newargv[argc + 4]; /* GNU C */
newargv[0] = "/bin/vi";
/* No swap files, use memory only */
newargv[1] = "-n";
/* Don't make a backup before overwriting a file */
newargv[2] = "-c"; newargv[3] = "set nowritebackup";
memcpy(&newargv[4], &argv[1], argc * sizeof(char *));
execv(newargv[0], newargv);
perror("execv");
return 1;
}