By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release. View | Details | Raw Unified | Return to bug 2109
Collapse All | Expand All

(-)tdecore/network/kresolver.cpp.orig (-18 / +103 lines)
Lines 66-71 Link Here
66
TQMutex getXXbyYYmutex;
66
TQMutex getXXbyYYmutex;
67
#endif
67
#endif
68
68
69
#ifdef __OpenBSD__
70
#define USE_OPENBSD 1
71
#endif
72
69
using namespace KNetwork;
73
using namespace KNetwork;
70
using namespace KNetwork::Internal;
74
using namespace KNetwork::Internal;
71
75
Lines 616-632 Link Here
616
  pe = getprotobynumber(protonum);
620
  pe = getprotobynumber(protonum);
617
621
618
#else
622
#else
623
# ifdef USE_OPENBSD // OpenBSD uses an HP/IBM/DEC API
624
  struct protoent protobuf;
625
  struct protoent_data pdata;
626
  ::memset(&pdata, 0, sizeof pdata);
627
628
  if (getprotobynumber_r(protonum, &protobuf, &pdata) == 0)
629
    pe = &protobuf;
630
  else
631
    pe = 0;
632
633
# else
619
  size_t buflen = 1024;
634
  size_t buflen = 1024;
620
  struct protoent protobuf;
635
  struct protoent protobuf;
621
  char *buf;
636
  char *buf;
622
  do
637
  do
623
    {
638
    {
624
      buf = new char[buflen];
639
      buf = new char[buflen];
625
# ifdef USE_SOLARIS // Solaris uses a 4 argument getprotobynumber_r which returns struct *protoent or NULL
640
#  ifdef USE_SOLARIS // Solaris uses a 4 argument getprotobynumber_r which returns struct *protoent or NULL
626
      if ((pe = getprotobynumber_r(protonum, &protobuf, buf, buflen)) && (errno == ERANGE))
641
      if ((pe = getprotobynumber_r(protonum, &protobuf, buf, buflen)) && (errno == ERANGE))
627
# else
642
#  else
628
      if (getprotobynumber_r(protonum, &protobuf, buf, buflen, &pe) == ERANGE)
643
      if (getprotobynumber_r(protonum, &protobuf, buf, buflen, &pe) == ERANGE)
629
# endif
644
#  endif
630
	{
645
	{
631
          pe = 0L;
646
          pe = 0L;
632
	  buflen += 1024;
647
	  buflen += 1024;
Lines 636-641 Link Here
636
	break;
651
	break;
637
    }
652
    }
638
  while (pe == 0L);
653
  while (pe == 0L);
654
# endif
639
#endif
655
#endif
640
656
641
  // Do common processing
657
  // Do common processing
Lines 648-654 Link Here
648
    }
664
    }
649
665
650
#ifdef HAVE_GETPROTOBYNAME_R
666
#ifdef HAVE_GETPROTOBYNAME_R
667
# ifndef USE_OPENBSD
651
  delete [] buf;
668
  delete [] buf;
669
# endif
652
#endif
670
#endif
653
671
654
  return lst;
672
  return lst;
Lines 663-679 Link Here
663
  pe = getprotobyname(protoname);
681
  pe = getprotobyname(protoname);
664
682
665
#else
683
#else
684
# ifdef USE_OPENBSD // OpenBSD uses an HP/IBM/DEC API
685
  struct protoent protobuf;
686
  struct protoent_data pdata;
687
  ::memset(&pdata, 0, sizeof pdata);
688
689
  if (getprotobyname_r(protoname, &protobuf, &pdata) == 0)
690
    pe = &protobuf;
691
  else
692
    pe = 0;
693
694
# else
666
  size_t buflen = 1024;
695
  size_t buflen = 1024;
667
  struct protoent protobuf;
696
  struct protoent protobuf;
668
  char *buf;
697
  char *buf;
669
  do
698
  do
670
    {
699
    {
671
      buf = new char[buflen];
700
      buf = new char[buflen];
672
# ifdef USE_SOLARIS // Solaris uses a 4 argument getprotobyname_r which returns struct *protoent or NULL
701
#  ifdef USE_SOLARIS // Solaris uses a 4 argument getprotobyname_r which returns struct *protoent or NULL
673
      if ((pe = getprotobyname_r(protoname, &protobuf, buf, buflen)) && (errno == ERANGE))
702
      if ((pe = getprotobyname_r(protoname, &protobuf, buf, buflen)) && (errno == ERANGE))
674
# else
703
#  else
675
      if (getprotobyname_r(protoname, &protobuf, buf, buflen, &pe) == ERANGE)
704
      if (getprotobyname_r(protoname, &protobuf, buf, buflen, &pe) == ERANGE)
676
# endif
705
#  endif
677
	{
706
	{
678
          pe = 0L;
707
          pe = 0L;
679
	  buflen += 1024;
708
	  buflen += 1024;
Lines 683-688 Link Here
683
	break;
712
	break;
684
    }
713
    }
685
  while (pe == 0L);
714
  while (pe == 0L);
715
# endif
686
#endif
716
#endif
687
717
688
  // Do common processing
718
  // Do common processing
Lines 695-701 Link Here
695
    }
725
    }
696
726
697
#ifdef HAVE_GETPROTOBYNAME_R
727
#ifdef HAVE_GETPROTOBYNAME_R
728
# ifndef USE_OPENBSD
698
  delete [] buf;
729
  delete [] buf;
730
# endif
699
#endif
731
#endif
700
732
701
  return lst;
733
  return lst;
Lines 710-726 Link Here
710
  pe = getprotobyname(protoname);
742
  pe = getprotobyname(protoname);
711
743
712
#else
744
#else
745
# ifdef USE_OPENBSD // OpenBSD uses an HP/IBM/DEC API
746
  struct protoent protobuf;
747
  struct protoent_data pdata;
748
  ::memset(&pdata, 0, sizeof pdata);
749
750
  if (getprotobyname_r(protoname, &protobuf, &pdata) == 0)
751
    pe = &protobuf;
752
  else
753
    pe = 0;
754
755
# else
713
  size_t buflen = 1024;
756
  size_t buflen = 1024;
714
  struct protoent protobuf;
757
  struct protoent protobuf;
715
  char *buf;
758
  char *buf;
716
  do
759
  do
717
    {
760
    {
718
      buf = new char[buflen];
761
      buf = new char[buflen];
719
# ifdef USE_SOLARIS // Solaris uses a 4 argument getprotobyname_r which returns struct *protoent or NULL
762
#  ifdef USE_SOLARIS // Solaris uses a 4 argument getprotobyname_r which returns struct *protoent or NULL
720
      if ((pe = getprotobyname_r(protoname, &protobuf, buf, buflen)) && (errno == ERANGE))
763
      if ((pe = getprotobyname_r(protoname, &protobuf, buf, buflen)) && (errno == ERANGE))
721
# else
764
#  else
722
      if (getprotobyname_r(protoname, &protobuf, buf, buflen, &pe) == ERANGE)
765
      if (getprotobyname_r(protoname, &protobuf, buf, buflen, &pe) == ERANGE)
723
# endif
766
#  endif
724
	{
767
	{
725
          pe = 0L;
768
          pe = 0L;
726
	  buflen += 1024;
769
	  buflen += 1024;
Lines 730-735 Link Here
730
	break;
773
	break;
731
    }
774
    }
732
  while (pe == 0L);
775
  while (pe == 0L);
776
# endif
733
#endif
777
#endif
734
778
735
  // Do common processing
779
  // Do common processing
Lines 738-744 Link Here
738
    protonum = pe->p_proto;
782
    protonum = pe->p_proto;
739
783
740
#ifdef HAVE_GETPROTOBYNAME_R
784
#ifdef HAVE_GETPROTOBYNAME_R
785
# ifndef USE_OPENBSD
741
  delete [] buf;
786
  delete [] buf;
787
# endif
742
#endif
788
#endif
743
789
744
  return protonum;
790
  return protonum;
Lines 753-769 Link Here
753
  se = getservbyname(servname, protoname);
799
  se = getservbyname(servname, protoname);
754
800
755
#else
801
#else
802
# ifdef USE_OPENBSD // OpenBSD uses an HP/IBM/DEC API
803
  struct servent servbuf;
804
  struct servent_data sdata;
805
  ::memset(&sdata, 0, sizeof sdata);
806
  if (getservbyname_r(servname, protoname, &servbuf, &sdata) == 0)
807
    se = &servbuf;
808
  else
809
    se = 0;
810
811
# else
756
  size_t buflen = 1024;
812
  size_t buflen = 1024;
757
  struct servent servbuf;
813
  struct servent servbuf;
758
  char *buf;
814
  char *buf;
759
  do
815
  do
760
    {
816
    {
761
      buf = new char[buflen];
817
      buf = new char[buflen];
762
# ifdef USE_SOLARIS // Solaris uses a 5 argument getservbyname_r which returns struct *servent or NULL
818
#  ifdef USE_SOLARIS // Solaris uses a 5 argument getservbyname_r which returns struct *servent or NULL
763
      if ((se = getservbyname_r(servname, protoname, &servbuf, buf, buflen)) && (errno == ERANGE))
819
      if ((se = getservbyname_r(servname, protoname, &servbuf, buf, buflen)) && (errno == ERANGE))
764
# else
820
#  else
765
      if (getservbyname_r(servname, protoname, &servbuf, buf, buflen, &se) == ERANGE)
821
      if (getservbyname_r(servname, protoname, &servbuf, buf, buflen, &se) == ERANGE)
766
# endif
822
#  endif
767
	{
823
	{
768
          se = 0L;
824
          se = 0L;
769
	  buflen += 1024;
825
	  buflen += 1024;
Lines 773-778 Link Here
773
	break;
829
	break;
774
    }
830
    }
775
  while (se == 0L);
831
  while (se == 0L);
832
# endif
776
#endif
833
#endif
777
834
778
  // Do common processing
835
  // Do common processing
Lines 781-787 Link Here
781
    servport = ntohs(se->s_port);
838
    servport = ntohs(se->s_port);
782
839
783
#ifdef HAVE_GETSERVBYNAME_R
840
#ifdef HAVE_GETSERVBYNAME_R
841
# ifndef USE_OPENBSD
784
  delete [] buf;
842
  delete [] buf;
843
# endif
785
#endif
844
#endif
786
845
787
  return servport;
846
  return servport;
Lines 796-812 Link Here
796
  se = getservbyname(servname, protoname);
855
  se = getservbyname(servname, protoname);
797
856
798
#else
857
#else
858
# ifdef USE_OPENBSD // OpenBSD uses an HP/IBM/DEC API
859
  struct servent servbuf;
860
  struct servent_data sdata;
861
  ::memset(&sdata, 0, sizeof sdata);
862
  if (getservbyname_r(servname, protoname, &servbuf, &sdata) == 0)
863
    se = &servbuf;
864
  else
865
    se = 0;
866
867
# else
799
  size_t buflen = 1024;
868
  size_t buflen = 1024;
800
  struct servent servbuf;
869
  struct servent servbuf;
801
  char *buf;
870
  char *buf;
802
  do
871
  do
803
    {
872
    {
804
      buf = new char[buflen];
873
      buf = new char[buflen];
805
# ifdef USE_SOLARIS // Solaris uses a 5 argument getservbyname_r which returns struct *servent or NULL
874
#  ifdef USE_SOLARIS // Solaris uses a 5 argument getservbyname_r which returns struct *servent or NULL
806
      if ((se = getservbyname_r(servname, protoname, &servbuf, buf, buflen)) && (errno == ERANGE))
875
      if ((se = getservbyname_r(servname, protoname, &servbuf, buf, buflen)) && (errno == ERANGE))
807
# else
876
#  else
808
      if (getservbyname_r(servname, protoname, &servbuf, buf, buflen, &se) == ERANGE)
877
      if (getservbyname_r(servname, protoname, &servbuf, buf, buflen, &se) == ERANGE)
809
# endif
878
#  endif
810
	{
879
	{
811
          se = 0L;
880
          se = 0L;
812
	  buflen += 1024;
881
	  buflen += 1024;
Lines 816-821 Link Here
816
	break;
885
	break;
817
    }
886
    }
818
  while (se == 0L);
887
  while (se == 0L);
888
# endif
819
#endif
889
#endif
820
890
821
  // Do common processing
891
  // Do common processing
Lines 828-834 Link Here
828
    }
898
    }
829
899
830
#ifdef HAVE_GETSERVBYNAME_R
900
#ifdef HAVE_GETSERVBYNAME_R
901
# ifndef USE_OPENBSD
831
  delete [] buf;
902
  delete [] buf;
903
# endif
832
#endif
904
#endif
833
905
834
  return lst;
906
  return lst;
Lines 843-859 Link Here
843
  se = getservbyport(port, protoname);
915
  se = getservbyport(port, protoname);
844
916
845
#else
917
#else
918
# ifdef USE_OPENBSD // OpenBSD uses an HP/IBM/DEC API
919
  struct servent servbuf;
920
  struct servent_data sdata;
921
  ::memset(&sdata, 0, sizeof sdata);
922
  if (getservbyport_r(port, protoname, &servbuf, &sdata) == 0)
923
    se = &servbuf;
924
  else
925
    se = 0;
926
927
# else
846
  size_t buflen = 1024;
928
  size_t buflen = 1024;
847
  struct servent servbuf;
929
  struct servent servbuf;
848
  char *buf;
930
  char *buf;
849
  do
931
  do
850
    {
932
    {
851
      buf = new char[buflen];
933
      buf = new char[buflen];
852
# ifdef USE_SOLARIS // Solaris uses a 5 argument getservbyport_r which returns struct *servent or NULL
934
#  ifdef USE_SOLARIS // Solaris uses a 5 argument getservbyport_r which returns struct *servent or NULL
853
      if ((se = getservbyport_r(port, protoname, &servbuf, buf, buflen)) && (errno == ERANGE))
935
      if ((se = getservbyport_r(port, protoname, &servbuf, buf, buflen)) && (errno == ERANGE))
854
# else
936
#  else
855
      if (getservbyport_r(port, protoname, &servbuf, buf, buflen, &se) == ERANGE)
937
      if (getservbyport_r(port, protoname, &servbuf, buf, buflen, &se) == ERANGE)
856
# endif
938
#  endif
857
	{
939
	{
858
          se = 0L;
940
          se = 0L;
859
	  buflen += 1024;
941
	  buflen += 1024;
Lines 863-868 Link Here
863
	break;
945
	break;
864
    }
946
    }
865
  while (se == 0L);
947
  while (se == 0L);
948
# endif
866
#endif
949
#endif
867
950
868
  // Do common processing
951
  // Do common processing
Lines 875-881 Link Here
875
    }
958
    }
876
959
877
#ifdef HAVE_GETSERVBYPORT_R
960
#ifdef HAVE_GETSERVBYPORT_R
961
# ifndef USE_OPENBSD
878
  delete [] buf;
962
  delete [] buf;
963
# endif
879
#endif
964
#endif
880
965
881
  return lst;
966
  return lst;

Return to bug 2109