Re: fmgr, C , and character arguments
От | Marko Kreen |
---|---|
Тема | Re: fmgr, C , and character arguments |
Дата | |
Msg-id | 20010328025718.A11356@l-t.ee обсуждение исходный текст |
Ответ на | fmgr, C , and character arguments (Joel Dudley <Joel.Dudley@DevelopOnline.com>) |
Список | pgsql-general |
On Tue, Mar 27, 2001 at 03:45:17PM -0700, Joel Dudley wrote: > Hello all, > I am having a bit of trouble getting my arguments formatted into a > command string for system(). Here is what I have so far for code. > > #include <string.h> > #include <stdlib.h> > #include "postgres.h" > #include "fmgr.h" > > > PG_FUNCTION_INFO_V1(ssh_exec); > Try this: Datum ssh_exec(PG_FUNCTION_ARGS) { char *uname = PG_GETARG_CHAR(0); char *uid = PG_GETARG_CHAR(1); char *gid = PG_GETARG_CHAR(2); strcpy(sshcmd, "/usr/local/bin/plsshexec "); strncat(sshcmd, VARDATA(uname), VARSIZE(uname)); strcat(sshcmd, " "); strncat(sshcmd, VARDATA(uid), VARSIZE(uid)); strcat(sshcmd, " "); strncat(sshcmd, VARDATA(gid), VARSIZE(gid)); system(sshcmd); return 0; } This may work, but is more to give you idea what PostgreSQL vars are about. I would not use such code in my projects anyway :) I suggest you study the code in src/backend/utils/adt/varchar.c to see examples of char/text manipulation. -- marko
В списке pgsql-general по дате отправления: