summaryrefslogtreecommitdiff
path: root/noncore/net/opie-smb/qsmb.cpp
Unidiff
Diffstat (limited to 'noncore/net/opie-smb/qsmb.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opie-smb/qsmb.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/noncore/net/opie-smb/qsmb.cpp b/noncore/net/opie-smb/qsmb.cpp
index a219c58..422b9f3 100644
--- a/noncore/net/opie-smb/qsmb.cpp
+++ b/noncore/net/opie-smb/qsmb.cpp
@@ -123,97 +123,98 @@ void Qsmb::scan()
123 123
124 /* parse output and display in ListViewScan */ 124 /* parse output and display in ListViewScan */
125 ccmd = "smbfind"; 125 ccmd = "smbfind";
126 runCommand(ccmd); 126 runCommand(ccmd);
127 127
128 QTextStream s(&out, IO_ReadOnly); 128 QTextStream s(&out, IO_ReadOnly);
129 129
130 while ( !s.atEnd() ) { 130 while ( !s.atEnd() ) {
131 QString ip_addr, host, output; 131 QString ip_addr, host, output;
132 QString tmp = s.readLine(); 132 QString tmp = s.readLine();
133 bool ok; 133 bool ok;
134 tmp.left(1).toInt( &ok, 10 ); 134 tmp.left(1).toInt( &ok, 10 );
135 if(ok) { 135 if(ok) {
136 QStringList token = QStringList::split(' ', tmp ); 136 QStringList token = QStringList::split(' ', tmp );
137 ip_addr = token[0]; 137 ip_addr = token[0];
138 host = token[1]; 138 host = token[1];
139 CBHost->insertItem( host, -1); 139 CBHost->insertItem( host, -1);
140 lms << ip_addr+" "+host+"\n"; 140 lms << ip_addr+" "+host+"\n";
141 } 141 }
142 } 142 }
143 lmhosts.close(); 143 lmhosts.close();
144 144
145 TextViewOutput->append("\n\n============================================\n"); 145 TextViewOutput->append("\n\n============================================\n");
146 LScan->setText(""); 146 LScan->setText("");
147 scanning = false; 147 scanning = false;
148} 148}
149 149
150void Qsmb::hostSelected(int index) 150void Qsmb::hostSelected(int index)
151{ 151{
152 owarn << "hostSelected" << oendl; 152 owarn << "hostSelected" << oendl;
153 QListViewItem *element; 153 QListViewItem *element;
154 QListViewItem *parent; 154 QListViewItem *parent;
155 155
156 QString text = CBHost->currentText(); 156 QString text = CBHost->currentText();
157 157
158 if (scanning) return; 158 if (scanning) return;
159 scanning = true; 159 scanning = true;
160 160
161 QString cmd; 161 QString cmd;
162 QStringList ccmd; 162 QStringList ccmd;
163 163
164 LScan->setText("Scanning..."); 164 LScan->setText("Scanning...");
165 165
166 ccmd << "/usr/bin/smbclient"; 166 ccmd << "/usr/bin/smbclient";
167 ccmd << "-L"; 167 ccmd << "-L";
168 ccmd << CBHost->currentText(); 168 ccmd << CBHost->currentText();
169 ccmd << "-N"; 169 ccmd << "-N";
170 170
171 if(!username->text().isEmpty()) { 171 if(username->text().isEmpty()) {
172 //do nothing
172 } else { 173 } else {
173 ccmd << "-U"; 174 ccmd << "-U";
174 ccmd << username->text()+"\%"+ password->text(); 175 ccmd << username->text()+"\%"+ password->text();
175 } 176 }
176 runCommand(ccmd); 177 runCommand(ccmd);
177 QTextStream s(&out, IO_ReadOnly); 178 QTextStream s(&out, IO_ReadOnly);
178 179
179 while ( !s.atEnd() ) { 180 while ( !s.atEnd() ) {
180 QString share; 181 QString share;
181 QString comment; 182 QString comment;
182 QString tmp = s.readLine(); 183 QString tmp = s.readLine();
183 184
184 if( tmp.find("$") == -1 && tmp.find("Disk") != -1) { 185 if( tmp.find("$") == -1 && tmp.find("Disk") != -1) {
185 QStringList token = QStringList::split(' ', tmp ); 186 QStringList token = QStringList::split(' ', tmp );
186 share = token[0]; 187 share = token[0];
187 comment = token[2]; 188 comment = token[2];
188 element = new QListViewItem(ListViewScan,share, comment); 189 element = new QListViewItem(ListViewScan,share, comment);
189 element->setOpen(true); 190 element->setOpen(true);
190// top_element = element; 191// top_element = element;
191// parent = element; 192// parent = element;
192 } 193 }
193 194
194 } 195 }
195// owarn << "i="<< index << "cmd:" << cmd << oendl; 196// owarn << "i="<< index << "cmd:" << cmd << oendl;
196 197
197 TextViewOutput->append(cmd); 198 TextViewOutput->append(cmd);
198 199
199 /* run smbclient & read output */ 200 /* run smbclient & read output */
200// if ((pipe = popen(cmd.latin1(), "r")) == NULL) { 201// if ((pipe = popen(cmd.latin1(), "r")) == NULL) {
201// snprintf(result, 256, "Error: Can't run %s", cmd.latin1()); 202// snprintf(result, 256, "Error: Can't run %s", cmd.latin1());
202// // cmd = "Error: Can't run "+cmd; 203// // cmd = "Error: Can't run "+cmd;
203// TextViewOutput->append(result); 204// TextViewOutput->append(result);
204// return; 205// return;
205// } 206// }
206 207
207 /* parse output and display in ListViewScan */ 208 /* parse output and display in ListViewScan */
208// while(fgets(result, 256, pipe) != NULL) { 209// while(fgets(result, 256, pipe) != NULL) {
209// /* put result into TextViewOutput */ 210// /* put result into TextViewOutput */
210// TextViewOutput->append(result); 211// TextViewOutput->append(result);
211 212
212// if( strchr(result, '$') == NULL ) { 213// if( strchr(result, '$') == NULL ) {
213// char share[256], *ptr1; 214// char share[256], *ptr1;
214 215
215// strcpy(share,result); 216// strcpy(share,result);
216// ptr1 = strchr(share,' '); 217// ptr1 = strchr(share,' ');
217// share[ptr1 - share]='\0'; 218// share[ptr1 - share]='\0';
218 219
219// owarn<< "add share: " << share << oendl; 220// owarn<< "add share: " << share << oendl;