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 по дате отправления:

Предыдущее
От: Joel Dudley
Дата:
Сообщение: fmgr, C , and character arguments
Следующее
От: Adam Haberlach
Дата:
Сообщение: Out of date security docs