/**
* The method setSalt handles a setSalt request from the client.
*/
-
void IoTQuery::setSalt() {
/* Write the slot data we received to a SLOT file */
char *filename = getSaltFileName();
- char * response = new char[1];
-
- if (access(filename, F_OK) == 0)
- {
- /* Already Exists */
- response[0] = 1;
- }
- else
- {
- /* Does not exist so create it */
- int saltfd = open(filename, O_CREAT | O_WRONLY, S_IRUSR | S_IWUSR);
- doWrite(saltfd, data, length);
- close(saltfd);
- response[0] = 0;
- }
-
-
- sendResponse(response, 1);
-
+ int saltfd = open(filename, O_CREAT | O_WRONLY, S_IRUSR | S_IWUSR);
+ doWrite(saltfd, data, length);
+ char response[0];
+ sendResponse(response, 0);
+ close(saltfd);
delete filename;
- delete response;
}
/**
- * The method getSalt handles a setSalt request from the client.
+ * The method getSalt handles a getSalt request from the client.
*/
void IoTQuery::getSalt() {
if (stat(filename, &st) == 0) {
filesize = st.st_size;
} else {
+ char response[0];
+ sendResponse(response, 0);
delete filename;
return;
}
<< "Content-Length: " << len << "\r\n"
<< "\r\n";
cout.write(bytes, len);
+ cout << flush;
}
/**
void IoTQuery::processQuery() {
getQuery();
getDirectory();
+ // readData();
if (!readData())
{
+ cerr << "No Data Available" << endl;
return;
}
*/
bool IoTQuery::readData() {
- if (length) {
+ if (length != 0) {
data = new char[length + 1];
memset(data, 0, length + 1);
cin.read(data, length);
}
+
do {
char dummy;
cin >> dummy;
} while (!cin.eof());
- if (length)
+ if (length != 0)
{
- if (cin.fail())
+ if (cin.gcount() != length)
{
return false;
}