libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: More NULL fixups for ltdl.c on branch1-4


From: Bob Friesenhahn
Subject: Re: More NULL fixups for ltdl.c on branch1-4
Date: Mon, 14 Oct 2002 12:15:06 -0500 (CDT)

I believe this is a bad patch.  Only 'char *' pointers may be assigned
to NULL (which is of type 'char *') without an explicit cast.

Bob

On Mon, 14 Oct 2002, Albert Chin wrote:

> 2002-10-12  Albert Chin-A-Young  <address@hidden>
>
>       * libltdl/ltdl.c: Init char * to NULL, not 0. And, for
>         some char * values, set *[var] = 0 to *[var] = '\0'.
>
> Hopefully this covers all uses of [ptr] = 0.
>
> --
> albert chin (address@hidden)
>
> -- snip snip
> Index: libltdl/ltdl.c
> ===================================================================
> RCS file: /cvsroot/libtool/libtool/libltdl/ltdl.c,v
> retrieving revision 1.134.2.14
> diff -u -3 -p -r1.134.2.14 ltdl.c
> --- libltdl/ltdl.c    23 Jun 2002 21:47:20 -0000      1.134.2.14
> +++ libltdl/ltdl.c    14 Oct 2002 16:25:13 -0000
> @@ -209,7 +209,7 @@ static char *
>  strdup(str)
>       const char *str;
>  {
> -  char *tmp = 0;
> +  char *tmp = NULL;
>
>    if (str)
>      {
> @@ -238,9 +238,9 @@ strcmp (str1, str2)
>  {
>    if (str1 == str2)
>      return 0;
> -  if (str1 == 0)
> +  if (str1 == NULL)
>      return -1;
> -  if (str2 == 0)
> +  if (str2 == NULL)
>      return 1;
>
>    for (;*str1 && *str2; ++str1, ++str2)
> @@ -294,7 +294,7 @@ strrchr(str, ch)
>       const char *str;
>       int ch;
>  {
> -  const char *p, *q = 0;
> +  const char *p, *q = NULL;
>
>    for (p = str; *p != LT_EOS_CHAR; ++p)
>      {
> @@ -390,14 +390,14 @@ realloc (ptr, size)
>    if (size == 0)
>      {
>        /* For zero or less bytes, free the original memory */
> -      if (ptr != 0)
> +      if (ptr != NULL)
>       {
>         lt_dlfree (ptr);
>       }
>
>        return (lt_ptr) 0;
>      }
> -  else if (ptr == 0)
> +  else if (ptr == NULL)
>      {
>        /* Allow reallocation of a NULL pointer.  */
>        return lt_dlmalloc (size);
> @@ -476,7 +476,7 @@ argz_create_sep (str, delim, pargz, parg
>       size_t *pargz_len;
>  {
>    size_t argz_len;
> -  char *argz = 0;
> +  char *argz = NULL;
>
>    assert (str);
>    assert (pargz);
> @@ -757,11 +757,11 @@ static  const char      sys_search_path[]       = LT
>
>  /* The mutex functions stored here are global, and are necessarily the
>     same for all threads that wish to share access to libltdl.  */
> -static       lt_dlmutex_lock     *lt_dlmutex_lock_func     = 0;
> -static       lt_dlmutex_unlock   *lt_dlmutex_unlock_func   = 0;
> -static       lt_dlmutex_seterror *lt_dlmutex_seterror_func = 0;
> -static       lt_dlmutex_geterror *lt_dlmutex_geterror_func = 0;
> -static       const char          *lt_dllast_error          = 0;
> +static       lt_dlmutex_lock     *lt_dlmutex_lock_func     = NULL;
> +static       lt_dlmutex_unlock   *lt_dlmutex_unlock_func   = NULL;
> +static       lt_dlmutex_seterror *lt_dlmutex_seterror_func = NULL;
> +static       lt_dlmutex_geterror *lt_dlmutex_geterror_func = NULL;
> +static       const char          *lt_dllast_error          = NULL;
>
>
>  /* Either set or reset the mutex functions.  Either all the arguments must
> @@ -810,7 +810,7 @@ lt_dlmutex_register (lock, unlock, seter
>  /* --- ERROR HANDLING --- */
>
>
> -static       const char    **user_error_strings      = 0;
> +static       const char    **user_error_strings      = NULL;
>  static       int             errorcount              = LT_ERROR_MAX;
>
>  int
> @@ -819,7 +819,7 @@ lt_dladderror (diagnostic)
>  {
>    int                errindex = 0;
>    int                result   = -1;
> -  const char  **temp     = (const char **) 0;
> +  const char  **temp     = NULL;
>
>    assert (diagnostic);
>
> @@ -1131,7 +1131,7 @@ sys_shl_sym (loader_data, module, symbol
>       lt_module module;
>       const char *symbol;
>  {
> -  lt_ptr address = 0;
> +  lt_ptr address = NULL;
>
>    /* sys_shl_open should never return a NULL module handle */
>    if (module == (lt_module) 0)
> @@ -1175,16 +1175,16 @@ sys_wll_open (loader_data, filename)
>       const char *filename;
>  {
>    lt_dlhandle        cur;
> -  lt_module  module     = 0;
> -  const char   *errormsg   = 0;
> -  char              *searchname = 0;
> +  lt_module  module     = NULL;
> +  const char   *errormsg   = NULL;
> +  char              *searchname = NULL;
>    char              *ext;
>    char               self_name_buf[MAX_PATH];
>
>    if (!filename)
>      {
>        /* Get the name of main module */
> -      *self_name_buf = 0;
> +      *self_name_buf = '\0';
>        GetModuleFileName (NULL, self_name_buf, sizeof (self_name_buf));
>        filename = ext = self_name_buf;
>      }
> @@ -1234,7 +1234,7 @@ sys_wll_open (loader_data, filename)
>      {
>        if (!cur->module)
>       {
> -       cur = 0;
> +       cur = NULL;
>         break;
>       }
>
> @@ -1250,7 +1250,7 @@ sys_wll_open (loader_data, filename)
>    if (cur || !module)
>      {
>        LT_DLMUTEX_SETERROR (LT_DLSTRERROR (CANNOT_OPEN));
> -      module = 0;
> +      module = NULL;
>      }
>
>    return module;
> @@ -1356,13 +1356,13 @@ sys_bedl_sym (loader_data, module, symbo
>       lt_module module;
>       const char *symbol;
>  {
> -  lt_ptr address = 0;
> +  lt_ptr address = NULL;
>    image_id image = (image_id) module;
>
>    if (get_image_symbol (image, symbol, B_SYMBOL_TYPE_ANY, address) != B_OK)
>      {
>        LT_DLMUTEX_SETERROR (LT_DLSTRERROR (SYMBOL_NOT_FOUND));
> -      address = 0;
> +      address = NULL;
>      }
>
>    return address;
> @@ -1399,7 +1399,7 @@ sys_dld_open (loader_data, filename)
>      {
>        LT_DLMUTEX_SETERROR (LT_DLSTRERROR (CANNOT_OPEN));
>        LT_DLFREE (module);
> -      module = 0;
> +      module = NULL;
>      }
>
>    return module;
> @@ -1461,8 +1461,8 @@ typedef struct lt_dlsymlists_t
>    const lt_dlsymlist        *syms;
>  } lt_dlsymlists_t;
>
> -static       const lt_dlsymlist     *default_preloaded_symbols       = 0;
> -static       lt_dlsymlists_t        *preloaded_symbols               = 0;
> +static       const lt_dlsymlist     *default_preloaded_symbols       = NULL;
> +static       lt_dlsymlists_t        *preloaded_symbols               = NULL;
>
>  static int
>  presym_init (loader_data)
> @@ -1472,7 +1472,7 @@ presym_init (loader_data)
>
>    LT_DLMUTEX_LOCK ();
>
> -  preloaded_symbols = 0;
> +  preloaded_symbols = NULL;
>    if (default_preloaded_symbols)
>      {
>        errors = lt_dlpreload (default_preloaded_symbols);
> @@ -1498,7 +1498,7 @@ presym_free_symlists ()
>        lists = lists->next;
>        LT_DLFREE (tmp);
>      }
> -  preloaded_symbols = 0;
> +  preloaded_symbols = NULL;
>
>    LT_DLMUTEX_UNLOCK ();
>
> @@ -1607,7 +1607,7 @@ presym_close (loader_data, module)
>       lt_module module;
>  {
>    /* Just to silence gcc -Wall */
> -  module = 0;
> +  module = NULL;
>    return 0;
>  }
>
> @@ -1710,9 +1710,9 @@ static  int     list_files_by_dir     LT_PARA
>                                                size_t *pargz_len));
>  static       int     file_not_found        LT_PARAMS((void));
>
> -static       char           *user_search_path= 0;
> -static       lt_dlloader    *loaders         = 0;
> -static       lt_dlhandle     handles         = 0;
> +static       char           *user_search_path= NULL;
> +static       lt_dlloader    *loaders         = NULL;
> +static       lt_dlhandle     handles         = NULL;
>  static       int             initialized     = 0;
>
>  /* Initialize libltdl. */
> @@ -1726,8 +1726,8 @@ lt_dlinit ()
>    /* Initialize only at first call. */
>    if (++initialized == 1)
>      {
> -      handles = 0;
> -      user_search_path = 0; /* empty search path */
> +      handles = NULL;
> +      user_search_path = NULL; /* empty search path */
>
>  #if HAVE_LIBDL && !defined(__CYGWIN__)
>        errors += lt_dlloader_add (lt_dlloader_next (0), &sys_dl, "dlopen");
> @@ -1862,7 +1862,7 @@ lt_dlexit ()
>
>         LT_DLMEM_REASSIGN (loader, next);
>       }
> -      loaders = 0;
> +      loaders = NULL;
>      }
>
>   done:
> @@ -1923,7 +1923,7 @@ tryall_dlopen (handle, filename)
>      }
>    else
>      {
> -      cur->info.filename = 0;
> +      cur->info.filename = NULL;
>      }
>
>    while (loader)
> @@ -1932,7 +1932,7 @@ tryall_dlopen (handle, filename)
>
>        cur->module = loader->module_open (data, filename);
>
> -      if (cur->module != 0)
> +      if (cur->module != NULL)
>       {
>         break;
>       }
> @@ -1963,7 +1963,7 @@ tryall_dlopen_module (handle, prefix, di
>       const char *dlname;
>  {
>    int      error     = 0;
> -  char     *filename = 0;
> +  char     *filename = NULL;
>    size_t   filename_len      = 0;
>    size_t   dirname_len       = LT_STRLEN (dirname);
>
> @@ -1973,7 +1973,7 @@ tryall_dlopen_module (handle, prefix, di
>  #ifdef LT_DIRSEP_CHAR
>    /* Only canonicalized names (i.e. with DIRSEP chars already converted)
>       should make it into this function:  */
> -  assert (strchr (dirname, LT_DIRSEP_CHAR) == 0);
> +  assert (strchr (dirname, LT_DIRSEP_CHAR) == NULL);
>  #endif
>
>    if (dirname[dirname_len -1] == '/')
> @@ -2057,7 +2057,7 @@ canonicalize_path (path, pcanonical)
>       const char *path;
>       char **pcanonical;
>  {
> -  char *canonical = 0;
> +  char *canonical = NULL;
>
>    assert (path && *path);
>    assert (pcanonical);
> @@ -2161,9 +2161,9 @@ foreach_dirinpath (search_path, base_nam
>    int         filenamesize   = 0;
>    size_t lenbase     = LT_STRLEN (base_name);
>    size_t argz_len    = 0;
> -  char *argz         = 0;
> -  char *filename     = 0;
> -  char *canonical    = 0;
> +  char *argz         = NULL;
> +  char *filename     = NULL;
> +  char *canonical    = NULL;
>
>    LT_DLMUTEX_LOCK ();
>
> @@ -2180,7 +2180,7 @@ foreach_dirinpath (search_path, base_nam
>      goto cleanup;
>
>    {
> -    char *dir_name = 0;
> +    char *dir_name = NULL;
>      while ((dir_name = argz_next (argz, argz_len, dir_name)))
>        {
>       size_t lendir = LT_STRLEN (dir_name);
> @@ -2247,7 +2247,7 @@ find_file_callback (filename, data1, dat
>
>        LT_DLFREE (*pdir);
>        *pdir   = lt_estrdup (filename);
> -      is_done = (*pdir == 0) ? -1 : 1;
> +      is_done = (*pdir == NULL) ? -1 : 1;
>      }
>
>    return is_done;
> @@ -2259,7 +2259,7 @@ find_file (search_path, base_name, pdir)
>       const char *base_name;
>       char **pdir;
>  {
> -  FILE *file = 0;
> +  FILE *file = NULL;
>
>    foreach_dirinpath (search_path, base_name, find_file_callback, pdir, 
> &file);
>
> @@ -2282,7 +2282,7 @@ find_handle_callback (filename, data, ig
>    /* Try to dlopen the file, but do not continue searching in any
>       case.  */
>    if (tryall_dlopen (handle, filename) != 0)
> -    *handle = 0;
> +    *handle = NULL;
>
>    return 1;
>  }
> @@ -2311,10 +2311,10 @@ load_deplibs (handle, deplibs)
>       char *deplibs;
>  {
>  #if LTDL_DLOPEN_DEPLIBS
> -  char       *p, *save_search_path = 0;
> +  char       *p, *save_search_path = NULL;
>    int   depcount = 0;
>    int        i;
> -  char       **names = 0;
> +  char       **names = NULL;
>  #endif
>    int        errors = 0;
>
> @@ -2350,7 +2350,7 @@ load_deplibs (handle, deplibs)
>         if (strncmp(p, "-L", 2) == 0 || strncmp(p, "-R", 2) == 0)
>           {
>             char save = *end;
> -           *end = 0; /* set a temporary string terminator */
> +           *end = '\0'; /* set a temporary string terminator */
>             if (lt_dladdsearchdir(p+2))
>               {
>                 goto cleanup;
> @@ -2407,7 +2407,7 @@ load_deplibs (handle, deplibs)
>           {
>             char *name;
>             char save = *end;
> -           *end = 0; /* set a temporary string terminator */
> +           *end = '\0'; /* set a temporary string terminator */
>             if (strncmp(p, "-l", 2) == 0)
>               {
>                 size_t name_len = 3+ /* "lib" */ LT_STRLEN (p + 2);
> @@ -2513,7 +2513,7 @@ trim (dest, str)
>      }
>    else
>      {
> -      *dest = 0;
> +      *dest = NULL;
>      }
>
>    return 0;
> @@ -2539,17 +2539,17 @@ try_dlopen (phandle, filename)
>       lt_dlhandle *phandle;
>       const char *filename;
>  {
> -  const char *       ext             = 0;
> -  const char *       saved_error     = 0;
> -  char *     canonical       = 0;
> -  char *     base_name       = 0;
> -  char *     dir             = 0;
> -  char *     name            = 0;
> +  const char *       ext             = NULL;
> +  const char *       saved_error     = NULL;
> +  char *     canonical       = NULL;
> +  char *     base_name       = NULL;
> +  char *     dir             = NULL;
> +  char *     name            = NULL;
>    int                errors          = 0;
>    lt_dlhandle        newhandle;
>
>    assert (phandle);
> -  assert (*phandle == 0);
> +  assert (*phandle == NULL);
>
>    LT_DLMUTEX_GETERROR (saved_error);
>
> @@ -2557,7 +2557,7 @@ try_dlopen (phandle, filename)
>    if (!filename)
>      {
>        *phandle = (lt_dlhandle) LT_EMALLOC (struct lt_dlhandle_struct, 1);
> -      if (*phandle == 0)
> +      if (*phandle == NULL)
>       return 1;
>
>        memset (*phandle, 0, sizeof(struct lt_dlhandle_struct));
> @@ -2614,12 +2614,12 @@ try_dlopen (phandle, filename)
>    if (ext && strcmp (ext, archive_ext) == 0)
>      {
>        /* this seems to be a libtool module */
> -      FILE * file     = 0;
> -      char * dlname   = 0;
> -      char * old_name = 0;
> -      char * libdir   = 0;
> -      char * deplibs  = 0;
> -      char *    line  = 0;
> +      FILE * file     = NULL;
> +      char * dlname   = NULL;
> +      char * old_name = NULL;
> +      char * libdir   = NULL;
> +      char * deplibs  = NULL;
> +      char *    line  = NULL;
>        size_t line_len;
>
>        /* if we can't find the installed flag, it is probably an
> @@ -2782,7 +2782,7 @@ try_dlopen (phandle, filename)
>             errors += trim (&dlname, &line[sizeof (STR_LIBRARY_NAMES) - 1]);
>             if (!errors
>                 && dlname
> -               && (last_libname = strrchr (dlname, ' ')) != 0)
> +               && (last_libname = strrchr (dlname, ' ')) != NULL)
>               {
>                 last_libname = lt_estrdup (last_libname + 1);
>                 if (!last_libname)
> @@ -2803,7 +2803,7 @@ try_dlopen (phandle, filename)
>
>        /* allocate the handle */
>        *phandle = (lt_dlhandle) LT_EMALLOC (struct lt_dlhandle_struct, 1);
> -      if (*phandle == 0)
> +      if (*phandle == NULL)
>       ++errors;
>
>        if (errors)
> @@ -2847,7 +2847,7 @@ try_dlopen (phandle, filename)
>      {
>        /* not a libtool module */
>        *phandle = (lt_dlhandle) LT_EMALLOC (struct lt_dlhandle_struct, 1);
> -      if (*phandle == 0)
> +      if (*phandle == NULL)
>       {
>         ++errors;
>         goto cleanup;
> @@ -2914,7 +2914,7 @@ lt_dlhandle
>  lt_dlopen (filename)
>       const char *filename;
>  {
> -  lt_dlhandle handle = 0;
> +  lt_dlhandle handle = NULL;
>
>    /* Just incase we missed a code path in try_dlopen() that reports
>       an error, but forgets to reset handle... */
> @@ -2929,7 +2929,7 @@ lt_dlopen (filename)
>  static int
>  file_not_found ()
>  {
> -  const char *error = 0;
> +  const char *error = NULL;
>
>    LT_DLMUTEX_GETERROR (error);
>    if (error == LT_DLSTRERROR (FILE_NOT_FOUND))
> @@ -2946,9 +2946,9 @@ lt_dlhandle
>  lt_dlopenext (filename)
>       const char *filename;
>  {
> -  lt_dlhandle        handle          = 0;
> -  char *     tmp             = 0;
> -  char *     ext             = 0;
> +  lt_dlhandle        handle          = NULL;
> +  char *     tmp             = NULL;
> +  char *     ext             = NULL;
>    size_t     len;
>    int                errors          = 0;
>
> @@ -3061,7 +3061,7 @@ lt_argz_insertinorder (pargz, pargz_len,
>       size_t *pargz_len;
>       const char *entry;
>  {
> -  char *before = 0;
> +  char *before = NULL;
>
>    assert (pargz);
>    assert (pargz_len);
> @@ -3086,9 +3086,9 @@ lt_argz_insertdir (pargz, pargz_len, dir
>       const char *dirnam;
>       struct dirent *dp;
>  {
> -  char   *buf            = 0;
> +  char   *buf            = NULL;
>    size_t buf_len    = 0;
> -  char   *end            = 0;
> +  char   *end            = NULL;
>    size_t end_offset = 0;
>    size_t dir_len    = 0;
>    int    errors          = 0;
> @@ -3151,7 +3151,7 @@ list_files_by_dir (dirnam, pargz, pargz_
>       char **pargz;
>       size_t *pargz_len;
>  {
> -  DIR        *dirp     = 0;
> +  DIR        *dirp     = NULL;
>    int    errors        = 0;
>
>    assert (dirnam && *dirnam);
> @@ -3162,7 +3162,7 @@ list_files_by_dir (dirnam, pargz, pargz_
>    dirp = opendir (dirnam);
>    if (dirp)
>      {
> -      struct dirent *dp      = 0;
> +      struct dirent *dp      = NULL;
>
>        while ((dp = readdir (dirp)))
>       if (dp->d_name[0] != '.')
> @@ -3193,7 +3193,7 @@ foreachfile_callback (dirname, data1, da
>       = (int (*) LT_PARAMS((const char *filename, lt_ptr data))) data1;
>
>    int          is_done  = 0;
> -  char   *argz     = 0;
> +  char   *argz     = NULL;
>    size_t  argz_len = 0;
>
>    if (list_files_by_dir (dirname, &argz, &argz_len) != 0)
> @@ -3202,7 +3202,7 @@ foreachfile_callback (dirname, data1, da
>      goto cleanup;
>
>    {
> -    char *filename = 0;
> +    char *filename = NULL;
>      while ((filename = argz_next (argz, argz_len, filename)))
>        if ((is_done = (*func) (filename, data2)))
>       break;
> @@ -3446,8 +3446,8 @@ lt_dlpath_insertdir (ppath, before, dir)
>       const char *dir;
>  {
>    int    errors              = 0;
> -  char  *canonical   = 0;
> -  char  *argz                = 0;
> +  char  *canonical   = NULL;
> +  char  *argz                = NULL;
>    size_t argz_len    = 0;
>
>    assert (ppath);
> @@ -3462,13 +3462,13 @@ lt_dlpath_insertdir (ppath, before, dir)
>    assert (canonical && *canonical);
>
>    /* If *PPATH is empty, set it to DIR.  */
> -  if (*ppath == 0)
> +  if (*ppath == NULL)
>      {
>        assert (!before);              /* BEFORE cannot be set without PPATH.  
> */
>        assert (dir);          /* Without DIR, don't call this function!  */
>
>        *ppath = lt_estrdup (dir);
> -      if (*ppath == 0)
> +      if (*ppath == NULL)
>       ++errors;
>
>        return errors;
> @@ -3702,7 +3702,7 @@ lt_dlcaller_set_data (key, handle, data)
>       lt_ptr data;
>  {
>    int n_elements = 0;
> -  lt_ptr stale = (lt_ptr) 0;
> +  lt_ptr stale = NULL;
>    int i;
>
>    /* This needs to be locked so that the caller data can be updated
> @@ -3731,7 +3731,7 @@ lt_dlcaller_set_data (key, handle, data)
>
>        if (!temp)
>       {
> -       stale = 0;
> +       stale = NULL;
>         goto done;
>       }
>
> @@ -3791,12 +3791,12 @@ lt_dlloader_add (place, dlloader, loader
>       const char *loader_name;
>  {
>    int errors = 0;
> -  lt_dlloader *node = 0, *ptr = 0;
> +  lt_dlloader *node = NULL, *ptr = NULL;
>
> -  if ((dlloader == 0)        /* diagnose null parameters */
> -      || (dlloader->module_open == 0)
> -      || (dlloader->module_close == 0)
> -      || (dlloader->find_sym == 0))
> +  if ((dlloader == NULL)     /* diagnose null parameters */
> +      || (dlloader->module_open == NULL)
> +      || (dlloader->module_close == NULL)
> +      || (dlloader->find_sym == NULL))
>      {
>        LT_DLMUTEX_SETERROR (LT_DLSTRERROR (INVALID_LOADER));
>        return 1;
> @@ -3807,7 +3807,7 @@ lt_dlloader_add (place, dlloader, loader
>    if (!node)
>      return 1;
>
> -  node->next         = 0;
> +  node->next         = NULL;
>    node->loader_name  = loader_name;
>    node->sym_prefix   = dlloader->sym_prefix;
>    node->dlloader_exit        = dlloader->dlloader_exit;
> @@ -3943,7 +3943,7 @@ const char *
>  lt_dlloader_name (place)
>       lt_dlloader *place;
>  {
> -  const char *name = 0;
> +  const char *name = NULL;
>
>    if (place)
>      {
> @@ -3963,7 +3963,7 @@ lt_user_data *
>  lt_dlloader_data (place)
>       lt_dlloader *place;
>  {
> -  lt_user_data *data = 0;
> +  lt_user_data *data = NULL;
>
>    if (place)
>      {
> @@ -3983,7 +3983,7 @@ lt_dlloader *
>  lt_dlloader_find (loader_name)
>       const char *loader_name;
>  {
> -  lt_dlloader *place = 0;
> +  lt_dlloader *place = NULL;
>
>    LT_DLMUTEX_LOCK ();
>    for (place = loaders; place; place = place->next)
>
>
> _______________________________________________
> Libtool-patches mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/libtool-patches
>

======================================
Bob Friesenhahn
address@hidden
http://www.simplesystems.org/users/bfriesen





reply via email to

[Prev in Thread] Current Thread [Next in Thread]