mirror of
https://github.com/postgres/postgres.git
synced 2025-07-03 20:02:46 +03:00
I guess I'd vote for changing the code to be
sys = malloc(strlen(editorName) + strlen(fname) + 10 + 1); if (!sys) return false; sprintf(sys, "exec '%s' '%s'", editorName, fname); (note the added quotes to provide a little protection against spaces and such). Then it's perfectly obvious what the calculation is doing. I don't care about wasting 20-some bytes, but confusing readers of the code is worth avoiding. regards, tom lane
This commit is contained in:
@ -3,7 +3,7 @@
|
||||
*
|
||||
* Copyright 2000-2002 by PostgreSQL Global Development Group
|
||||
*
|
||||
* $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.77 2002/08/13 21:04:36 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.78 2002/08/14 05:49:22 momjian Exp $
|
||||
*/
|
||||
#include "postgres_fe.h"
|
||||
#include "command.h"
|
||||
@ -1510,10 +1510,10 @@ editFile(const char *fname)
|
||||
if (!editorName)
|
||||
editorName = DEFAULT_EDITOR;
|
||||
|
||||
sys = malloc(strlen(editorName) + strlen(fname) + 32 + 1);
|
||||
sys = malloc(strlen(editorName) + strlen(fname) + 10 + 1);
|
||||
if (!sys)
|
||||
return false;
|
||||
sprintf(sys, "exec %s %s", editorName, fname);
|
||||
sprintf(sys, "exec '%s' '%s'", editorName, fname);
|
||||
result = system(sys);
|
||||
if (result == -1)
|
||||
psql_error("could not start editor %s\n", editorName);
|
||||
|
Reference in New Issue
Block a user