On Fri, Jul 08, 2016 at 09:33:03AM -0300, Daniel. wrote: > Hi all thanks for the reply. > > I think I wasn't clear. Here is a working example: http://codepad.org/0SUG6IcQ > > The function get_pair_from_string() should I) remove trailing spcaes, II) return > the address for key and value using it's last parameters. The problem is that > since I modify the first parameter calling with strings constants generates a > segmentation fault. This is because strings constans aren't modifiable. I wan't > to have better hints when this happen than just "SEGSEGV". I think that the > -Wwrite-strings is what I was looking for :D, thanks Phil!!! Glad I could help. > John, I'll be in production, but not at this time. Luckly, that > function is file scoped > so I don't have to bother that much. Still I like to avoid the crypt > "SEGSEGV" error > message as much as possible. Usually I assert for NULL pointers and give a nice > error message but this case is trickier. I'll take Phil advice and use > -Wwrite-strings Calling 'SIGSEGV' an error message is a slight underestimation. Actually your program simply crashes. The gcc warning to activate will just help to keep your code sane, not improve run-time behaviour. If you want to modify strings no matter whether they are constant or not, strdup() them into a local variable and work with that. Especially since it's just for parsing as your example shows. Just keep in mind that you will have to free the duplicated string at some point, otherwise you will have a memory leak (which at some point will lead to an equally cryptic message as your segfault did). Cheers, Phil -- To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html