~ubuntu-branches/ubuntu/trusty/eglibc/trusty

« back to all changes in this revision

Viewing changes to nss/getXXbyYY_r.c

  • Committer: Package Import Robot
  • Author(s): Adam Conrad
  • Date: 2013-01-10 18:39:35 UTC
  • mfrom: (1.5.2) (4.4.24 experimental)
  • Revision ID: package-import@ubuntu.com-20130110183935-afsgfxkmg7wk5eaj
Tags: 2.17-0ubuntu1
* Merge with Debian, bringing in a new upstream and many small fixes:
  - patches/any/cvs-malloc-deadlock.diff: Dropped, merged upstream.
  - patches/ubuntu/lddebug-scopes.diff: Rebase for upstream changes.
  - patches/ubuntu/local-CVE-2012-3406.diff: Rebased against upstream.
  - patches/ubuntu/no-asm-mtune-i686.diff: Fixed in recent binutils.
* This upstream merge fixes a nasty hang in pulseaudio (LP: #1085342)
* Bump MIN_KERNEL_SUPPORTED to 2.6.32 on ARM, now that we no longer
  have to support shonky 2.6.31 kernels on imx51 babbage builders.
* Drop patches/ubuntu/local-disable-nscd-host-caching.diff, as these
  issues were apparently resolved upstream a while ago (LP: #613662)
* Fix the compiled-in bug URL to point to launchpad.net, not Debian.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Copyright (C) 1996-2004,2006,2007,2009,2010 Free Software Foundation, Inc.
 
1
/* Copyright (C) 1996-2012 Free Software Foundation, Inc.
2
2
   This file is part of the GNU C Library.
3
3
   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
4
4
 
51
51
|*                                                                 *|
52
52
|* EXTRA_VARIABLES - names of optional parameter                   *|
53
53
|*                                                                 *|
54
 
|* FUNCTION_NAME - alternative name of the non-reentrant function  *|
 
54
|* FUNCTION2_NAME - alternative name of the non-reentrant function *|
55
55
|*                                                                 *|
56
56
|* NEED_H_ERRNO  - an extra parameter will be passed to point to   *|
57
57
|*                 the global `h_errno' variable.                  *|
204
204
      if (no_more)
205
205
        {
206
206
          void *tmp_ptr = (service_user *) -1l;
 
207
#ifdef PTR_MANGLE
207
208
          PTR_MANGLE (tmp_ptr);
 
209
#endif
208
210
          startp = tmp_ptr;
209
211
        }
210
212
      else
225
227
#endif /* need _res_hconf */
226
228
 
227
229
          void *tmp_ptr = fct.l;
 
230
#ifdef PTR_MANGLE
228
231
          PTR_MANGLE (tmp_ptr);
 
232
#endif
229
233
          start_fct = tmp_ptr;
230
234
          tmp_ptr = nip;
 
235
#ifdef PTR_MANGLE
231
236
          PTR_MANGLE (tmp_ptr);
 
237
#endif
232
238
          startp = tmp_ptr;
233
239
        }
234
240
 
240
246
  else
241
247
    {
242
248
      fct.l = start_fct;
 
249
      nip = startp;
 
250
#ifdef PTR_DEMANGLE
243
251
      PTR_DEMANGLE (fct.l);
244
 
      nip = startp;
245
252
      PTR_DEMANGLE (nip);
 
253
#endif
246
254
      no_more = nip == (service_user *) -1l;
247
255
    }
248
256
 
276
284
#endif
277
285
  *result = status == NSS_STATUS_SUCCESS ? resbuf : NULL;
278
286
#ifdef NEED_H_ERRNO
279
 
  if (status != NSS_STATUS_SUCCESS && ! any_service)
 
287
  if (status == NSS_STATUS_UNAVAIL)
 
288
    /* Either we failed to lookup the functions or the functions themselves
 
289
       had a system error.  Set NETDB_INTERNAL here to let the caller know
 
290
       that the errno may have the real reason for failure.  */
 
291
      *h_errnop = NETDB_INTERNAL;
 
292
  else if (status != NSS_STATUS_SUCCESS && !any_service)
280
293
    /* We were not able to use any service.  */
281
294
    *h_errnop = NO_RECOVERY;
282
295
#endif
341
354
                           REENTRANT_NAME, GLIBC_2_1_2);
342
355
#endif
343
356
 
344
 
static_link_warning (REENTRANT_NAME)
 
357
nss_interface_function (REENTRANT_NAME)