-rw-r--r-- | noncore/net/opie-smb/qsmb.cpp | 3 |
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 | ||
150 | void Qsmb::hostSelected(int index) | 150 | void 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; |