10
10
*
11
11
*
12
12
* IDENTIFICATION
13
- * $Header: /cvsroot/pgsql/src/backend/libpq/hba.c,v 1.82 2002/04/25 00:56:36 momjian Exp $
13
+ * $Header: /cvsroot/pgsql/src/backend/libpq/hba.c,v 1.83 2002/04/28 22:49:07 momjian Exp $
14
14
*
15
15
*-------------------------------------------------------------------------
16
16
*/
@@ -335,21 +335,36 @@ tokenize_file(FILE *file)
335
335
336
336
337
337
/*
338
- * Compare twopassword-file lines onthe basis of their user names.
338
+ * Compare two linesbased on their user/group names.
339
339
*
340
- * Used for qsort() sorting and bsearch() lookup .
340
+ * Used for qsort() sorting.
341
341
*/
342
342
static int
343
- user_group_cmp (const void * user ,const void * list )
343
+ user_group_qsort_cmp (const void * list1 ,const void * list2 )
344
344
{
345
345
/* first node is line number */
346
- char * user1 = ( char * ) user ;
347
- char * user2 = lfirst (lnext (* (List * * )list ));
346
+ char * user1 = lfirst ( lnext ( * ( List * * ) list1 )) ;
347
+ char * user2 = lfirst (lnext (* (List * * )list2 ));
348
348
349
349
return strcmp (user1 ,user2 );
350
350
}
351
351
352
352
353
+ /*
354
+ * Compare two lines based on their user/group names.
355
+ *
356
+ * Used for bsearch() lookup.
357
+ */
358
+ static int
359
+ user_group_bsearch_cmp (const void * user ,const void * list )
360
+ {
361
+ /* first node is line number */
362
+ char * user2 = lfirst (lnext (* (List * * )list ));
363
+
364
+ return strcmp (user ,user2 );
365
+ }
366
+
367
+
353
368
/*
354
369
* Lookup a group name in the pg_group file
355
370
*/
@@ -360,7 +375,7 @@ get_group_line(const char *group)
360
375
(void * )group_sorted ,
361
376
group_length ,
362
377
sizeof (List * ),
363
- user_group_cmp );
378
+ user_group_bsearch_cmp );
364
379
}
365
380
366
381
@@ -374,7 +389,7 @@ get_user_line(const char *user)
374
389
(void * )user_sorted ,
375
390
user_length ,
376
391
sizeof (List * ),
377
- user_group_cmp );
392
+ user_group_bsearch_cmp );
378
393
}
379
394
380
395
@@ -754,7 +769,7 @@ load_group()
754
769
foreach (line ,group_lines )
755
770
group_sorted [i ++ ]= lfirst (line );
756
771
757
- qsort ((void * )group_sorted ,group_length ,sizeof (List * ),user_group_cmp );
772
+ qsort ((void * )group_sorted ,group_length ,sizeof (List * ),user_group_qsort_cmp );
758
773
}
759
774
else
760
775
group_sorted = NULL ;
@@ -792,7 +807,7 @@ load_user()
792
807
foreach (line ,user_lines )
793
808
user_sorted [i ++ ]= lfirst (line );
794
809
795
- qsort ((void * )user_sorted ,user_length ,sizeof (List * ),user_group_cmp );
810
+ qsort ((void * )user_sorted ,user_length ,sizeof (List * ),user_group_qsort_cmp );
796
811
}
797
812
else
798
813
user_sorted = NULL ;