--- libprinterconf-0.5.orig/src/snmpinter.C
+++ libprinterconf-0.5/src/snmpinter.C
@@ -4,9 +4,11 @@
 
 #include <stdio.h>
 
-#include <string.h>
-#include <iostream.h>
+#include <cstdlib>
 #include <string>
+#include <iostream>
+#include <string>
+#include <cstring>
 
 const std::string HPSTR("JETDIRECT");
 const std::string LEXMARKSTR("Lexmark");
@@ -100,7 +102,13 @@
       }else
 	throw PrinterException();
     /* ------- Xerox Desktop ------- */
-    }else if(! prinfo.sysDesc.compare(XEROXSTR,0,XEROXSTR.length())){
+    }else /* A.Mennucc: in  gcc-2.95 there is this call 
+      if(! prinfo.sysDesc.compare(XEROXSTR,0,XEROXSTR.length()))
+      and in  gcc-3.0 there is this call 
+      if(! prinfo.sysDesc.compare(0,XEROXSTR.length(),XEROXSTR))
+      so I am using 
+      */
+      if(! prinfo.sysDesc.compare(XEROXSTR)) {
       prinfo.vendor="Xerox";
       if(prinfo.sysDesc.find("???")!=std::string::npos)
 	prinfo.model="???";
@@ -155,13 +163,13 @@
   }catch(SNMPNoResponseException e){ // this is not a problem
     return NULL;
   }catch(ProgrammerException e){
-    cerr << "inside programmer error\n";
+    std::cerr << "inside programmer error\n";
   }catch(DecodeException e){
-    cerr << "inside decode error\n";
+    std::cerr << "inside decode error\n";
   }catch(SNMPException e){
-    cerr << "inside SNMPException\n";
+    std::cerr << "inside SNMPException\n";
   }catch(...){
-    cerr << "inside other error\n";
+    std::cerr << "inside other error\n";
   }
 
   int *i=new int;
@@ -183,17 +191,17 @@
     SNMP_sessions_done();
   }catch(ProgrammerException e){
     *retval = 1;
-    cerr << "programmer error\n";
+    std::cerr << "programmer error\n";
   }catch(DecodeException e){
     *retval = 1;
-    cerr << "decode error\n";
+    std::cerr << "decode error\n";
   }catch(SessionHostNotFoundException e){
     *retval = 1;
-    cerr << "cannot resolve host " << specstr << endl;
+    std::cerr << "cannot resolve host " << specstr << std::endl;
     return NULL;
   }catch(...){
     *retval = 1;
-    cerr << "other error\n";
+    std::cerr << "other error\n";
     return NULL;
   }
 
