I thought the __restrict flag meant that the pointer couldn't be changed...but it can it seems......can somebody tell me clearly what the __restrict flag does?
Code:#include <stdio.h> #include <al/etl.h> #include <sfl.h> char *blar( char *__restrict__ sz ) { char *s = malloc( NAME_MAX ); ASSERT( s ); strncpy( s, "Whoa whoa whoa", NAME_MAX ); sz = s; return sz; } int main( void ) { char *__restrict hello = "How are you?"; hello = blar( hello ); puts( hello ); free( hello ); return 0; }