1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00
Commit Graph

51 Commits

Author SHA1 Message Date
Andrew Bartlett
92a777d0ea BIG patch...
This patch makes Samba compile cleanly with -Wwrite-strings.
 - That is, all string literals are marked as 'const'.  These strings are
always read only, this just marks them as such for passing to other functions.

What is most supprising is that I didn't need to change more than a few lines of code (all
in 'net', which got a small cleanup of net.h and extern variables).  The rest
is just adding a lot of 'const'.

As far as I can tell, I have not added any new warnings - apart from making all
of tdbutil.c's function const (so they warn for adding that const string to
struct).

Andrew Bartlett
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
c5d7ee506d Again, just syncronizing. The a function name was changed in the sll
module but none of Samba uses it directly.  The macros are used instead
so the change is hidden.  Good.
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
164cc91d81 Bringing these up to date with what I've got on my site. The fixes include
the change that prevents 'insure' from becomming confused and issuing leak
reports.  Some minor speed fixes.  That sort of thing.

Chris -)-----
0001-01-01 00:00:00 +00:00
Jeremy Allison
b62a1bd632 Added hash-based stat cache code from Ying Chen.
Jeremy.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
5be3c37f50 fixes for OSF1 compilation 0001-01-01 00:00:00 +00:00
Christopher R. Hertel
b6888faacd I've moved the debugparse module files into the ubiqx directory because I
know that 'make proto' will ignore them there.  The debugparse.h header
file is included in includes.h, and includes.h is included in debugparse.c,
so all of the pieces "see" each other.  I've compiled and tested this,
and it does seem to work.  It's the same compromise model I used when
adding the ubiqx modules into the system, which is why I put it all into
the same directory.

Chris -)-----
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
487a2e13b7 I received a bug report from Massimo Campostrini in Pisa. There are a pair
of "front-end" functions with the same bug each.

Fixed.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
01de9a50e0 ignore *.po32 files 0001-01-01 00:00:00 +00:00
Andrew Tridgell
269a7938fc ignore .po files 0001-01-01 00:00:00 +00:00
Andrew Tridgell
e246a20230 ignore *.p files 0001-01-01 00:00:00 +00:00
Alexandre Oliva
90a8a02484 get away with dummy and .dummy files 0001-01-01 00:00:00 +00:00
Alexandre Oliva
237a8e5fe6 automated generation of .dummy files for each subdirectory;
dummy.in files are no longer needed, and new directories will be taken
care of automatically, at configure (or config.status --recheck) time
0001-01-01 00:00:00 +00:00
Luke Leighton
aa38f39d67 added rpcclient program 0001-01-01 00:00:00 +00:00
Alexandre Oliva
1ffc3b807a major autoconf clean-up
fix problems in builds with srcdir!=builddir
0001-01-01 00:00:00 +00:00
Andrew Tridgell
1d655b7c64 some merge cleanups 0001-01-01 00:00:00 +00:00
Andrew Tridgell
3bda7ac417 merge from the autoconf2 branch to the main branch 0001-01-01 00:00:00 +00:00
Christopher R. Hertel
3c133778f1 To each list type, I added a macro that makes it easier to define and
initialize a list header.
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
1ce7d38d9f Minor cosmetic change. I up-cased internal #defines. 0001-01-01 00:00:00 +00:00
Christopher R. Hertel
978c307916 Removed the "../" from the #include statement.
David Mathod from Cal Tech is working on a new port to VMS and requested
that such relative references be removed.
Chris -)-----
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
f128fda8e6 proto.h
*Not* the usual.  I did make proto to add the #ifndef..#endif block.
  Just to be safe, I did a cvs diff and found no prototype changes.

ubiqx/sys_includes.h
  More fudging.  I want to use binary tree typdefs in nameserv.h, but
  nameserv.h is included in includes.h which is included by all of the
  ubiqx modules.  The result is that the types are referenced before
  they are declared.  My solution is to prevent nameserv.h and proto.h
  from being included in the ubiqx modules (where they are not needed
  anyway).

Chris -)-----
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
e30a7e023b It occurred to me that the samba includes.h file should be included in the
header files used by the ubiqx modules, instead of being hidden in the .c
files.  This would ensure that anything in includes.h would be "seen" by
the ubiqx headers.  I also had to put an #ifdef around the includes for
ubi_SplayTree.h and ubi_Cache.h in includes.h to prevent the header of the
descendant type from being included before its parent type.

Chris -)-----
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
def161eeea Changed the mechanism for including the Samba includes.h in the ubiqx code
to something less hurried, simpler, and (I believe) more acceptable to
all.  The ubi_*.c files all now #include sys_include.h which, for Samba,
contains only comments and the line

#include "../includes.h"

That will make sure that the Samba header is there, allows me to
distribute a different default header with the main ubiqx set, and allows
others to write their own sys_includes.h for their own purposes.

Thanks to Andrew and Jeremy for hammering this out with me.

Chris -)-----
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
b3c8b14a47 These two are not being used, and they would cause conflict under Andrew's
include scheme.  Removing them works around the problem.  If someone
does need them sometime (can't imagine why, since the splay tree is
typically faster), let me know and we can work something else out.

Chris -)-----
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
f8d6aab70a Added a disclaimer regarding the changes Andrew wants. 0001-01-01 00:00:00 +00:00
Andrew Tridgell
556745037a added:
#ifdef HAVE_INCLUDES_H
#include "../includes.h"
#endif

we want _all_ code in Samba to include this file to ensure that we can
override definitions, typedefs and includes in one place.
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
05fcc67872 Along the lines that Andrew suggested, I added a header called ubi_null.h.
This header tries four different locations for a definition of NULL.  If
NULL still hasn't been found, it defaults to ((void *)0).  All of the
includes can be, essentially, overridden by defining NULL on the command
line, as in -DNULL=((void *)0).  I have faith that this will avoid the
problem of NULL being in different places on different systems.  If there
is a system out there that doesn't define NULL in any of the headers I've
included, then let me know *where* it's defined and I'll add another
header.  Chris -)-----
0001-01-01 00:00:00 +00:00
Andrew Tridgell
4989db8b0b include includes.h in all the ubiqx files. I know Chris won't like
this but it really is necessary (sorry Chris!)

ubiqx code didn't compile on SunOS4 otherwise as stdlib didn't define
NULL.
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
f430e4b0fa Just changed the date. 0001-01-01 00:00:00 +00:00
Christopher R. Hertel
955a9f9199 Minor change to the wording. It used to say "files with the prefix 'ubi_'"
or some such.  Some future files won't have the ubi_ prefix.  -)----- Chris
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
7ba2195cc1 Fixed some typecast and function pointer problems pointed out by a
programmer in Finland.

Chris -)-----
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
46445421c5 I removed a static string that was in there because I planned to do
something with it some day.  It was causing gcc to cough up warnings
(not serious ones, mind you).  Don't worry... It will be back!
Chris -)-----
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
abcc9705af Just fiddled with the README.UBI file. 0001-01-01 00:00:00 +00:00
Christopher R. Hertel
687e9be59b This functionality was added to ubi_sLinkList, so is no longer needed as a
separate module.

Chris -)-----
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
599a29401d Updates to all of these base level modules.
Trees: Previously, the AVL node type was different than the node type used
       in the BinTree and SplayTree modules.  It requires an additional
       field to maintain AVL balance information.  I merged that field into
       the base type (in ubi_BinTree.h) so that all three use the same
       node type.  On most systems this will have zero effect on the node
       size, due to word alignment.  The change allowed me to remove a
       bigbunch of redundant code, which makes the AVL module smaller and
       cleaner.
Linked Lists:  I combined ubi_StackQueue into ubi_sLinkList.  The interface
       has changed a tiny bit.  I added macros to ubi_dLinkList to round
       it out a bit.

I have verified that the few Samba modules that use these tools (so far)
do not have any problems with the changes.

Chris -)-----
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
ce9acc96a6 Backed out changes that attempted to address a pointer array using -1,0,1.
Jeremy pointed out that there might be problems with this.  Darn shame.
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
45962779a6 Adding the cache module.
I'll be using the cache module to replace the name cache in mangle.c.  The
new one should be much faster and should require less memory.
Another feature is that the cache size can be limited by the amount of
memory used in addition to the number of entries allowed.  With the
current cache, the default is to allocate 12800 bytes representing 50
entries (256 bytes each).  With the same amount of memory, I should be able
to load over around two hundred entries.
Changes to the AVL trees were minor (missing comments).
Chris -)-----
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
db9898559f While working on a general-purpose caching module (out soon), I thought of
a better way to handle the node pointer array used in ubi_BinTree.  The
change simplified the code a bigbunch.  It also forced updates to all of
the binary tree modules.  CRH
0001-01-01 00:00:00 +00:00
Andrew Tridgell
4d9cd22c9e no Makefile needed here either 0001-01-01 00:00:00 +00:00
Christopher R. Hertel
c6205dd45e Modified Files:
ubiqx/Makefile ubiqx/README.UBI

Added new modules to the Makefile.  Changed the text of the README to
reflect the directory change.

Added Files:
        ubiqx/ubi_AVLtree.c ubiqx/ubi_AVLtree.h
        ubiqx/ubi_BinTree.c ubiqx/ubi_BinTree.h
        ubiqx/ubi_SplayTree.c ubiqx/ubi_SplayTree.h
        ubiqx/ubi_StackQueue.c ubiqx/ubi_StackQueue.h
        ubiqx/ubi_sLinkList.c ubiqx/ubi_sLinkList.h

This is the remainder of the toolkit.  A quick rundown:
  sLinkList  = A simple singly-linked list.
  StackQueue = Implements both a stack and a queue.
  dLinkList  = (Not added 'cause it's already there.)  A doubly-linked list.

  BinTree    = Base level binary tree module.  (No height balancing, just
               the basics.)
  AVLtree    = Descendant type of BinTree.  Implements a height-balanced
               (AVL) binary tree.
  SplayTree  = Descendant type of BinTree.  Implements a splay-balanced
               binary tree.

Renamed Files:
        ubiqx/COPYING.LGPL ==> ubiqx/COPYING.LIB

This matches the naming that GNU suggests.
0001-01-01 00:00:00 +00:00
Luke Leighton
93df2c62cc Makefiles for libraries. the dependencies aren't quite right, and i
don't know how to sort them.

make proto in each library directory.  over-ride the make proto for ubiqx,
so that it doesn't happen, but throws up a warning instead.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
dc8998b1d3 moved ubi_ modules back into the ubiqx directory.
I've added a very simple (and portable) method for having separate
source directories.

This should also help when we add directories for the various ports. A
unix directory would make sense.
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
31d50db98b Moved the LGPL from the ubiqx directory into the samba root directory
and renamed it COPYING.LGPL.  This is because the ubi_* files are under
LGPL, not regular GPL.
Removed the last few things from the ubiqx directory and deleted it.
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
905b2b9562 Don't need it any more. 0001-01-01 00:00:00 +00:00
Christopher R. Hertel
4691a94d3c I got fed up trying to put the tree and list stuff into a subdirectory,
so I've started to move them into the main directory.
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
e55a3dc94a Added ubi_sLinkList module which manages simple singly-linked lists. 0001-01-01 00:00:00 +00:00
Christopher R. Hertel
2181d929d1 These are the ubiqx modules, as included with the Samba distribution.
Updated the linked list module, which has new and changed macros.
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
df3bafd0c4 First draft of a README file to explain the origins of the "ubiqx" code. 0001-01-01 00:00:00 +00:00
Christopher R. Hertel
781be1daac Added a very small piece of documentation to describe the binary tree
modules.
0001-01-01 00:00:00 +00:00
Christopher R. Hertel
28de393878 Added a copy of the LGPL to the samba/ubiqx/ directory. 0001-01-01 00:00:00 +00:00
Christopher R. Hertel
5e52143829 I have to admit that I'm not very good at writing Makefiles.
This one will simply create an object file from each of the .c files
in the directory.  These could be linked into a static library, but
I'm not sure that this is worthwhile.  If anyone wants to improved on
what I've got here, please do!  crh -)-----
0001-01-01 00:00:00 +00:00