passing function's output into C function

Started by Kamil Kukuraover 22 years ago4 messagesgeneral
Jump to latest
#1Kamil Kukura
kamk@volny.cz

I have table with column of type "inet". Then I have my own function
resolveip(text). It works okay when I store IP addres into column typed
as text or varchar. But with type of inet I run into this problem:

select host(acc_ip), resolveip(host(acc_ip)) from access_test limit 15

host | resolveip
----------------+-----------------------------------
212.80.81.141 | Bad IP address: '212.80.81.141.'
212.80.81.141 | Bad IP address: '212.80.81.141'
212.80.81.141 | Bad IP address: '212.80.81.141'
212.80.81.141 | Bad IP address: '212.80.81.141'
80.139.171.208 | Bad IP address: '80.139.171.208*'
212.80.81.141 | Bad IP address: '212.80.81.1418'
212.80.81.141 | Bad IP address: '212.80.81.1418'
211.22.169.82 | Bad IP address: '211.22.169.828'
81.0.234.52 |
62.24.89.106 | Bad IP address: '62.24.89.106`'
81.0.234.52 | Bad IP address: '81.0.234.526'
212.80.81.141 | Bad IP address: '212.80.81.1415'
62.84.131.161 | Bad IP address: '62.84.131.1615'
212.80.81.141 | Bad IP address: '212.80.81.1415'
195.122.204.15 | e0-a11.b1.lan.prg.vol.cz

Is there something I'm missing when data are passed from function to
function?

--
Kamil Kukura

#2Joe Conway
mail@joeconway.com
In reply to: Kamil Kukura (#1)
Re: passing function's output into C function

Kamil Kukura wrote:

Is there something I'm missing when data are passed from function to
function?

It is difficult to know what you might be missing when you haven't shown
us the function. Post the code.

Joe

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Kamil Kukura (#1)
Re: passing function's output into C function

Kamil Kukura <kamk@volny.cz> writes:

Is there something I'm missing when data are passed from function to
function?

I get the impression your function is expecting the contents of a text
datum to be null-terminated. It's not.

regards, tom lane

#4Kamil Kukura
kamk@volny.cz
In reply to: Joe Conway (#2)
Re: passing function's output into C function

It was problem with allocating needed space, now it's okay. Anyway, the
code of function is being attached..

--
Kamil Kukura

Attachments:

resolveip.ctext/plain; name=resolveip.cDownload