<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ds.git/lib/libaccess/acltools.cpp, branch bug515329.py</title>
<subtitle>Unnamed repository; edit this file to name it for gitweb.</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/'/>
<entry>
<title>Bug Description: Need to address 64-bit compiler warnings - part 1</title>
<updated>2008-10-08T17:29:05+00:00</updated>
<author>
<name>Rich Megginson</name>
<email>rmeggins@redhat.com</email>
</author>
<published>2008-10-08T17:29:05+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=b3797a8704696ed77b69a042e75ce5553e24b68b'/>
<id>b3797a8704696ed77b69a042e75ce5553e24b68b</id>
<content type='text'>
Reviewed by: nhosoi (Thanks!)
Fix Description: The intptr_t and uintptr_t are types which are defined as integer types that are the same size as the pointer (void *) type.  On the platforms we currently support, this is the same as long and unsigned long, respectively (ILP32 and LP64).  However, intptr_t and uintptr_t are more portable.  These can be used to assign a value passed as a void * to get an integer value, then "cast down" to an int or PRBool, and vice versa.  This seems to be a common idiom in other applications where values must be passed as void *.
For the printf/scanf formats, there is a standard header called inttypes.h which defines formats to use for various 64 bit quantities, so that you don't need to figure out if you have to use %lld or %ld for a 64-bit value - you just use PRId64 which is set to the correct value.  I also assumed that size_t is defined as the same size as a pointer so I used the PRIuPTR format macro for size_t.
I removed many unused variables and some unused functions.
I put parentheses around assignments in conditional expressions to tell the compiler not to complain about them.
I cleaned up some #defines that were defined more than once.
I commented out some unused goto labels.
Some of our header files shared among several source files define static variables.  I made it so that those variables are not defined unless a macro is set in the source file.  This avoids a lot of unused variable warnings.
I added some return values to functions that were declared as returning a value but did not return a value.  In all of these cases no one was checking the return value anyway.
I put explicit parentheses around cases like this: expr || expr &amp;&amp; expr - the &amp;&amp; has greater precedence than the ||.  The compiler complains because it wants you to make sure you mean expr || (expr &amp;&amp; expr), not (expr || expr) &amp;&amp; expr.
I cleaned up several places where the compiler was complaining about possible use of uninitialized variables.  There are still a lot of these cases remaining.
There are a lot of warnings like this:
lib/ldaputil/certmap.c:1279: warning: dereferencing type-punned pointer will break strict-aliasing rules
These are due to our use of void ** to pass in addresses of addresses of structures.  Many of these are calls to slapi_ch_free, but many are not - they are cases where we do not know what the type is going to be and may have to cast and modify the structure or pointer.  I started replacing the calls to slapi_ch_free with slapi_ch_free_string, but there are many many more that need to be fixed.
The dblayer code also contains a fix for https://bugzilla.redhat.com/show_bug.cgi?id=463991 - instead of checking for dbenv-&gt;foo_handle to see if a db "feature" is enabled, instead check the flags passed to open the dbenv.  This works for bdb 4.2 through bdb 4.7 and probably other releases as well.
Platforms tested: RHEL5 x86_64, Fedora 8 i386
Flag Day: no
Doc impact: no
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed by: nhosoi (Thanks!)
Fix Description: The intptr_t and uintptr_t are types which are defined as integer types that are the same size as the pointer (void *) type.  On the platforms we currently support, this is the same as long and unsigned long, respectively (ILP32 and LP64).  However, intptr_t and uintptr_t are more portable.  These can be used to assign a value passed as a void * to get an integer value, then "cast down" to an int or PRBool, and vice versa.  This seems to be a common idiom in other applications where values must be passed as void *.
For the printf/scanf formats, there is a standard header called inttypes.h which defines formats to use for various 64 bit quantities, so that you don't need to figure out if you have to use %lld or %ld for a 64-bit value - you just use PRId64 which is set to the correct value.  I also assumed that size_t is defined as the same size as a pointer so I used the PRIuPTR format macro for size_t.
I removed many unused variables and some unused functions.
I put parentheses around assignments in conditional expressions to tell the compiler not to complain about them.
I cleaned up some #defines that were defined more than once.
I commented out some unused goto labels.
Some of our header files shared among several source files define static variables.  I made it so that those variables are not defined unless a macro is set in the source file.  This avoids a lot of unused variable warnings.
I added some return values to functions that were declared as returning a value but did not return a value.  In all of these cases no one was checking the return value anyway.
I put explicit parentheses around cases like this: expr || expr &amp;&amp; expr - the &amp;&amp; has greater precedence than the ||.  The compiler complains because it wants you to make sure you mean expr || (expr &amp;&amp; expr), not (expr || expr) &amp;&amp; expr.
I cleaned up several places where the compiler was complaining about possible use of uninitialized variables.  There are still a lot of these cases remaining.
There are a lot of warnings like this:
lib/ldaputil/certmap.c:1279: warning: dereferencing type-punned pointer will break strict-aliasing rules
These are due to our use of void ** to pass in addresses of addresses of structures.  Many of these are calls to slapi_ch_free, but many are not - they are cases where we do not know what the type is going to be and may have to cast and modify the structure or pointer.  I started replacing the calls to slapi_ch_free with slapi_ch_free_string, but there are many many more that need to be fixed.
The dblayer code also contains a fix for https://bugzilla.redhat.com/show_bug.cgi?id=463991 - instead of checking for dbenv-&gt;foo_handle to see if a db "feature" is enabled, instead check the flags passed to open the dbenv.  This works for bdb 4.2 through bdb 4.7 and probably other releases as well.
Platforms tested: RHEL5 x86_64, Fedora 8 i386
Flag Day: no
Doc impact: no
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolves: #188320</title>
<updated>2007-10-18T00:08:38+00:00</updated>
<author>
<name>Noriko Hosoi</name>
<email>nhosoi@redhat.com</email>
</author>
<published>2007-10-18T00:08:38+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=19cd513a509aa6e45361df774e74f2d39451e08a'/>
<id>19cd513a509aa6e45361df774e74f2d39451e08a</id>
<content type='text'>
Summary: HP-UX: warnings reported by the HP-UX compiler
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary: HP-UX: warnings reported by the HP-UX compiler
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolves: #214533</title>
<updated>2006-11-10T23:46:05+00:00</updated>
<author>
<name>Noriko Hosoi</name>
<email>nhosoi@redhat.com</email>
</author>
<published>2006-11-10T23:46:05+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=6679b0968981f8be7c33a7df2c30bb5146f3a6d3'/>
<id>6679b0968981f8be7c33a7df2c30bb5146f3a6d3</id>
<content type='text'>
Summary: configure needs to support --with-fhs (Comment #6)
Changes: Added the following include next to the end of the copyright block.
+
+#ifdef HAVE_CONFIG_H
+#  include &lt;config.h&gt;
+#endif
+
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary: configure needs to support --with-fhs (Comment #6)
Changes: Added the following include next to the end of the copyright block.
+
+#ifdef HAVE_CONFIG_H
+#  include &lt;config.h&gt;
+#endif
+
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed licensing typo</title>
<updated>2005-04-19T22:07:54+00:00</updated>
<author>
<name>Nathan Kinder</name>
<email>nkinder@redhat.com</email>
</author>
<published>2005-04-19T22:07:54+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=5a8395d602f17c52bcbd14269317ee301d17be3c'/>
<id>5a8395d602f17c52bcbd14269317ee301d17be3c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>155068 - Added license to source files</title>
<updated>2005-04-15T22:40:54+00:00</updated>
<author>
<name>Nathan Kinder</name>
<email>nkinder@redhat.com</email>
</author>
<published>2005-04-15T22:40:54+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=413f26105f36dc486ea14f9dad7c1879b260d15f'/>
<id>413f26105f36dc486ea14f9dad7c1879b260d15f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>clean up sprintf usage and many other flawfinder issues; clean up compiler warnings on Linux; remove pam_passthru from DS 7.1</title>
<updated>2005-03-05T04:29:24+00:00</updated>
<author>
<name>Rich Megginson</name>
<email>rmeggins@redhat.com</email>
</author>
<published>2005-03-05T04:29:24+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=b352660e243c7b9b7d050f1c38cff1c9faf278b1'/>
<id>b352660e243c7b9b7d050f1c38cff1c9faf278b1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>149951 - Updated source code copyrights</title>
<updated>2005-02-28T23:38:10+00:00</updated>
<author>
<name>Nathan Kinder</name>
<email>nkinder@redhat.com</email>
</author>
<published>2005-02-28T23:38:10+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=606a96781b8bd30ff8331d04c7eed86c3963f7e7'/>
<id>606a96781b8bd30ff8331d04c7eed86c3963f7e7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>149510</title>
<updated>2005-02-23T18:19:13+00:00</updated>
<author>
<name>Rob Crittenden</name>
<email>rcritten@redhat.com</email>
</author>
<published>2005-02-23T18:19:13+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=21305115e547133a0122c44b7e9956ef78dc94be'/>
<id>21305115e547133a0122c44b7e9956ef78dc94be</id>
<content type='text'>
Strip down ACL code and support libraries to the bare minimum.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Strip down ACL code and support libraries to the bare minimum.
</pre>
</div>
</content>
</entry>
<entry>
<title>Moving NSCP Directory Server from DirectoryBranch to TRUNK, initial drop. (foxworth)</title>
<updated>2005-01-21T00:44:34+00:00</updated>
<author>
<name>cvsadm</name>
<email>cvsadm</email>
</author>
<published>2005-01-21T00:44:34+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/rmeggins/public_git/ds.git/commit/?id=b2093e3016027d6b5cf06b3f91f30769bfc099e2'/>
<id>b2093e3016027d6b5cf06b3f91f30769bfc099e2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
