Re: [patch] potential bug

2008-10-11 Thread Julien Danjou
At 1223719744 time_t, Konstantin wrote: > I must apologize. Don't, no one died in the process. ;) -- Julien Danjou // ᐰ <[EMAIL PROTECTED]> http://julien.danjou.info // 9A0D 5FD9 EB42 22F6 8974 C95C A462 B51E C2FE E5CD signature.asc Description: Digital signature

Re: [patch] potential bug

2008-10-11 Thread Konstantin
I must apologize. Actually I'm not one that "making your WM", I'm a user and I must admit my C-skills are not that good, but I'm learning, and I'm learning by trying to track down & eliminate bugs in awesome I could find. Anyway all patches goes through Julien. Thanks for explanations :) They wa

Re: [patch] potential bug

2008-10-11 Thread Julien Danjou
At 1223717790 time_t, dante4d wrote: > I hope Julien meant that increment size of char * and char ** differ - their > sizeof are the same!!! So increment are the same. Well that probably what I meant, but I was maybe not clear. > Because char * points to char, but char ** points to > char * - in

Re: [patch] potential bug

2008-10-11 Thread Julien Danjou
At 1223718030 time_t, Konstantin wrote: > I wonder, what's wrong with the rest of my test? I meant more "useless" than wrong. Well, the backtrace was not that useful without -O0 (and -fno-inline probably) and without some printing. :) -- Julien Danjou // ᐰ <[EMAIL PROTECTED]> http://julien.dan

Re: [patch] potential bug

2008-10-11 Thread Konstantin
I wonder, what's wrong with the rest of my test? Just for self-debugging. Crash is *real* anyway, and I'm not sure if my patch is correct. Julien Danjou wrote: At 1223714578 time_t, Konstantin wrote: #include int main (int argc, char* argv[]) { printf("sizeof(char*) = %d\n", sizeof(cha

Re: [patch] potential bug

2008-10-11 Thread dante4d
You guys are tough to follow :) #include int main(int argc, char *argv[]) { char *a = "aaa"; char *b = "bbb"; char *p[] = { a, b }; char **pp = p; printf("%p, %p\n", a, pp); printf("%p, %p\n", a+1, pp+1); printf("%d, %d, %d\n", sizeof(char*), sizeof(char**), sizeof(c

Re: [patch] potential bug

2008-10-11 Thread Julien Danjou
At 1223714578 time_t, Konstantin wrote: > #include > int main (int argc, char* argv[]) > { > printf("sizeof(char*) = %d\n", sizeof(char*)); > } That's obviously proving that the size of char * and char ** differs. Unfortunately, the rest of your tests and patches are totally wrong also. Pa

Re: [patch] potential bug

2008-10-11 Thread dante4d
Hehe, I just wanted to write that pointer++ is the same as pointer+=sizeof(pointer)... That's a C/C++ trait. http://www.cplusplus.com/doc/tutorial/pointers.html Pointer arithmetics To conduct arithmetical operations on pointers is a little different than to conduct them on regular integer data ty

Re: [patch] potential bug

2008-10-11 Thread Konstantin
No, after some tests I came to conclusion you are right: buf++ and buf+=sizeof(char*) is the same for me too. But still awesome crashes for me some time, and when I patched it with the very first patch I posted in the thread I managed to run awesome smoothly. I'm confused. Stopped any patch acti

Re: [patch] potential bug

2008-10-11 Thread Konstantin
[EMAIL PROTECTED]:p0~% uname -a FreeBSD knote 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #13: Wed Sep 17 18:06:30 EEST 2008 [EMAIL PROTECTED]:/usr/src/sys/i386/compile/KNOTE i386 [EMAIL PROTECTED]:p0~% awesome -version awesome (awesome) v3.0-156-gede

Re: [patch] potential bug

2008-10-10 Thread Julien Danjou
At 1223675544 time_t, Konstantin wrote: > b/c the original one increases increases buf (of type char**) > by one, while it should be increased by sizeof(char*) to move > to the next pointer in array. Hu? In my world it seems that both have the same size. Can you give me an example of the value you

[patch] potential bug

2008-10-10 Thread Konstantin
Effectively a_strsplit returns pointer to an array of pointers to char. luaa.c uses it to parse xdg_config_path using statement: for (buf = xdg_files; *buf; buf++) I managed to crash awesome (SEGFAILT) by setting XDG_CONFIG_DIRS: this line should be for (buf = xdg_files; *buf; buf += sizeof(c