Google
 
Webnews.only-4-geeks.com
Interesting places
news.only-4-geeks.com Forum Index » C

searching for method signatures

 
Jump to:  
 
David Hilton
PostPosted: Tue Sep 02, 2008 6:41 pm    Post subject: searching for method signatures
       
I'm working on some legacy code, and I ran across this function that
is giving the compiler issues:

void socket_skip(int i,int code,struct sigcontext * scp) {
fprintf(stderr,"User requested an interupt\n");
signal(SIGINT,exit);
sleep(1);
signal(SIGINT,socket_skip);
return;
}

Not surprisingly, signal doesn't like socket_skip.

I have searched for any sort of #define that could have specified a
unique signal, I have read through most of the possibly relevant lines
(by running 'grep sig `locate signal.h` | less').

Does anyone know of a good way to search for (possibly obfuscated)
method signatures?

How about any other way of finding what I'm looking for?

Short of that, does anyone know what library might have a signal that
accepts that signature?

Thanks,
David
 

 
Ben Bacarisse
PostPosted: Tue Sep 02, 2008 7:56 pm    Post subject: Re: searching for method signatures
       
David Hilton <quercus.aeternam@gmail.com> writes:

Quote:
I'm working on some legacy code, and I ran across this function that
is giving the compiler issues:

void socket_skip(int i,int code,struct sigcontext * scp) {
fprintf(stderr,"User requested an interupt\n");
signal(SIGINT,exit);
sleep(1);
signal(SIGINT,socket_skip);
return;
}

Not surprisingly, signal doesn't like socket_skip.

I have searched for any sort of #define that could have specified a
unique signal, I have read through most of the possibly relevant lines
(by running 'grep sig `locate signal.h` | less').

Does anyone know of a good way to search for (possibly obfuscated)
method signatures?

How about any other way of finding what I'm looking for?

Short of that, does anyone know what library might have a signal that
accepts that signature?

signal is standard C. I suspect your code simply dates from a time
when it was common for signal to vary quite a lot between systems. I
don't think you will gain anything from trying to find something
similar -- it is likely that is nothing you have available is an exact
match.

If this the only use of signal? If so, I think your simplest solution
is just to change the definition of socket_skip to match the type expected
by the standard signal function (void (*)(int)). The extra parameters
are not used but either handler (exit and socket_skip).

If there are other uses -- in particular some that set the handler to
a function that does use the other parameters then you will have to
find out what these parameters do/did. That may require digging
through the documentation for the "other" system.

--
Ben.
 

Page 1 of 1 .:.

Google
 
Webnews.only-4-geeks.com

Windows Update | C++ | C | PHP | JavaScript | Photoshop | Programming | Windows 2000 | Python | Windows XP | Object | Flash | Flash - ActionScript | Paint Shop Pro | Excel | PowerPoint | Access | Word | Windows 98 | Internet Explorer 6.0 | CorelDraw12 | Java | XML | asm x86 | Linux Mandrake | Linux RedHat | Outlook |  | news from newsgroups |_ | s

Web Templates

Awesome Website Templates ©

Portal Miasteczko swietokrzyskie banery Ryanair Juliusz Cezar kontra Rzym Profesjonalna firma usługowa