git.ucc.asn.au
/
tpg
/
opendispense2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Removed debug from server, cleaning client
[tpg/opendispense2.git]
/
src
/
client
/
main.c
diff --git
a/src/client/main.c
b/src/client/main.c
index
33f3fe4
..
d4af6dd
100644
(file)
--- a/
src/client/main.c
+++ b/
src/client/main.c
@@
-664,8
+664,7
@@
int Authenticate(int Socket)
*/
void PopulateItemList(int Socket)
{
*/
void PopulateItemList(int Socket)
{
- char buffer[BUFSIZ];
- int len;
+ char *buf;
int responseCode;
char *itemType, *itemStart;
int responseCode;
char *itemType, *itemStart;
@@
-674,14
+673,11
@@
void PopulateItemList(int Socket)
// Ask server for stock list
send(Socket, "ENUM_ITEMS\n", 11, 0);
// Ask server for stock list
send(Socket, "ENUM_ITEMS\n", 11, 0);
- len = recv(Socket, buffer, BUFSIZ-1, 0);
- buffer[len] = '\0';
-
- trim(buffer);
+ buf = ReadLine(Socket);
- //printf("Output: %s\n", buf
fer
);
+ //printf("Output: %s\n", buf);
- responseCode = atoi(buf
fer
);
+ responseCode = atoi(buf);
if( responseCode != 201 ) {
fprintf(stderr, "Unknown response from dispense server (Response Code %i)\n", responseCode);
exit(-1);
if( responseCode != 201 ) {
fprintf(stderr, "Unknown response from dispense server (Response Code %i)\n", responseCode);
exit(-1);
@@
-690,10
+686,10
@@
void PopulateItemList(int Socket)
// - Get item list -
// Expected format: 201 Items <count> <item1> <item2> ...
// - Get item list -
// Expected format: 201 Items <count> <item1> <item2> ...
- RunRegex(&gArrayRegex, buf
fer
, 4, matches, "Malformed server response");
+ RunRegex(&gArrayRegex, buf, 4, matches, "Malformed server response");
- itemType = &buf
fer[ matches[2].rm_so ]; buffer
[ matches[2].rm_eo ] = '\0';
- count = atoi( &buf
fer
[ matches[3].rm_so ] );
+ itemType = &buf
[ matches[2].rm_so ]; buf
[ matches[2].rm_eo ] = '\0';
+ count = atoi( &buf[ matches[3].rm_so ] );
// Check array type
if( strcmp(itemType, "Items") != 0 ) {
// Check array type
if( strcmp(itemType, "Items") != 0 ) {
@@
-703,7
+699,7
@@
void PopulateItemList(int Socket)
exit(-1);
}
exit(-1);
}
- itemStart = &buf
fer
[ matches[3].rm_eo ];
+ itemStart = &buf[ matches[3].rm_eo ];
gaItems = malloc( count * sizeof(tItem) );
gaItems = malloc( count * sizeof(tItem) );
@@
-715,6
+711,8
@@
void PopulateItemList(int Socket)
itemStart = next;
}
itemStart = next;
}
+ free(buf);
+
// Fetch item information
for( i = 0; i < giNumItems; i ++ )
{
// Fetch item information
for( i = 0; i < giNumItems; i ++ )
{
@@
-722,22
+720,22
@@
void PopulateItemList(int Socket)
// Get item info
sendf(Socket, "ITEM_INFO %s\n", gaItems[i].Ident);
// Get item info
sendf(Socket, "ITEM_INFO %s\n", gaItems[i].Ident);
- len = recv(Socket, buffer, BUFSIZ-1, 0);
- buffer[len] = '\0';
- trim(buffer);
+ buf = ReadLine(Socket);
- responseCode = atoi(buf
fer
);
+ responseCode = atoi(buf);
if( responseCode != 202 ) {
fprintf(stderr, "Unknown response from dispense server (Response Code %i)\n", responseCode);
exit(-1);
}
if( responseCode != 202 ) {
fprintf(stderr, "Unknown response from dispense server (Response Code %i)\n", responseCode);
exit(-1);
}
- RunRegex(&gItemRegex, buffer, 6, matches, "Malformed server response");
+ RunRegex(&gItemRegex, buf, 6, matches, "Malformed server response");
+
+ buf[ matches[3].rm_eo ] = '\0';
- buffer[ matches[3].rm_eo ] = '\0';
+ gaItems[i].Price = atoi( buf + matches[4].rm_so );
+ gaItems[i].Desc = strdup( buf + matches[5].rm_so );
- gaItems[i].Price = atoi( buffer + matches[4].rm_so );
- gaItems[i].Desc = strdup( buffer + matches[5].rm_so );
+ free(buf);
}
}
}
}
UCC
git Repository :: git.ucc.asn.au