As you suggested, switch to dbi_conn_query and it took care of the issue.
Appreciate the quick responses and suggestions. Ill be spending more time
on the manual this week:)
Thanks,
Rj
On Fri, Jan 10, 2014 at 10:23 AM, Markus Hoenicka <
markus.hoeni...@mhoenicka.de> wrote:
> At 2014-01-10 15:56, Rick Robinson was heard to say:
>
> I have tried the following, which I believe is on the right track but the
> program crashes as soon as it gets to dbi_conn_quote_string_copy. I try to
> use dbi_conn_quote_string_copy to keep the bad string locked down, and then
> use dbi_conn_queryf to read the new locked down value into the db. Sadly, I
> am not the greatest C coder so I am probably overlooking something
> relatively simple to make this work.
>
> char *pTitle=NULL;
> char *pTitle2=NULL;
>
> if ((ch)->player.title)
> {
> sprintf (pTitle, (ch)->player.title);
> }
> else
> {
> sprintf (pTitle, "None");
> }
>
> dbi_conn_quote_string_copy(conn, pTitle, &pTitle2);
>
> sprintf (sql_columns, "name, title");
> sprintf (sql_string, "REPLACE into data (%s) VALUES (\"%s\",
> \"%s\")",
> sql_columns,
> GET_NAME (ch),
> pTitle2 );
>
> result = dbi_conn_queryf (conn, sql_string);
>
>
> Well, this is not a list about C coding, but it looks like you sprintf() some
> string to a non-allocated buffer. I'm just wondering why the code doesn't
> crash in sprintf() then.
>
> In any case, it is far simpler to use dbi_conn_quote_string_copy() on the
> assembled SQL query string rather than on single items. E.g. the quoted
> string is surrounded by escape characters, and you subsequently wrap another
> pair around the title. This does not seem to generate valid SQL. Also, if you
> don't use the printf()-like capabilities of dbi_conn_queryf(), there is no
> point in using this function. Use dbi_conn_query() instead.
>
>
> regards,
> Markus
>
> --
> Markus Hoenickahttp://www.mhoenicka.de
> AQ score 38
>
>
>
> ------------------------------------------------------------------------------
> CenturyLink Cloud: The Leader in Enterprise Cloud Services.
> Learn Why More Businesses Are Choosing CenturyLink Cloud For
> Critical Workloads, Development Environments & Everything In Between.
> Get a Quote or Start a Free Trial Today.
>
> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
> _______________________________________________
> libdbi-users mailing list
> libdbi-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/libdbi-users
>
>
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
libdbi-users mailing list
libdbi-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libdbi-users