Dear Shane,
would you please take a look at this code?
-(NSString*)insertSoldItem:(NSString*)inputedString
{
//NSLog(@"inputedString = %@",inputedString);
int length = [inputedString length];
NSLog(@"length = %d",length);
int finalLength = length + 5;
NSLog(@"finalLength = %d",finalLength);
char someChar[58];//finalLength];
for (NSUInteger i = 0; i < sizeof(someChar); i++) {
NSLog(@"someChar[i] (before everything) CHAR == '%c'", someChar[i]);
// NSLog(@"someChar[i] HEX == '%x'", someChar[i]);
// NSLog(@"someChar[i] HEX2 == '%X'", someChar[i]);
}
someChar[0] = 28;
someChar[1] = 70;
someChar[2] = 201;
int pos = 3;
for (NSUInteger i = 0; i < sizeof(someChar); i++) {
NSLog(@"someChar[i] (before loop) CHAR == '%c'", someChar[i]);
// NSLog(@"someChar[i] HEX == '%x'", someChar[i]);
// NSLog(@"someChar[i] HEX2 == '%X'", someChar[i]);
}
for (NSUInteger i=0;i<length;i++){
NSString *ichar = [NSString stringWithFormat:@"%c", [inputedString characterAtIndex:i]];
NSLog(@"iChar = '%@'",ichar);
char* tempChar = [ichar UTF8String];
someChar[i+3] = *tempChar ;
pos++;
}
for (NSUInteger i = 0; i < sizeof(someChar); i++) {
NSLog(@"someChar[i] CHAR == '%c'", someChar[i]);
// NSLog(@"someChar[i] HEX == '%x'", someChar[i]);
// NSLog(@"someChar[i] HEX2 == '%X'", someChar[i]);
}
someChar[pos] = 255;
pos++;
char XOR = 0;
for (NSUInteger i=0;i<finalLength;i++) { // loop de cálculo do checksum
NSLog(@"acumulated xor = '%c'",XOR);
XOR ^= someChar[i];
NSLog(@"doing XOR on '%c'",someChar[i]);
NSLog(@"results = %c",XOR);
//NSLog(@"looping %ld",i);
}
NSLog(@"Verifying digit: %c", XOR);
someChar[pos] = XOR;
int sz;
sz = (sizeof someChar) / (sizeof someChar[0]);
NSLog(@"someChar count = %i",sz);
NSString *response;
response = [self.terminalClass dumpCharsToPrinter:someChar length:sz ] ;
NSLog(@"response HERE XXXXXX = %@",response);
return response;
}
Please note: This code is working!
But notice the line “char someChar[58];//finalLength];”
I am attempting to pass the final count of the character set, but it only works if I hard code with a 58.
Although the finalLength = 58, when I insert the variable, instead of the hardcoded 58, it doesn’t work. I think it should.
when using the variable finalLength and logging the immediately after its creation I see a bunch of characters I did not input, like:
Log:
2012-07-11 01:41:03.810 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.811 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.811 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.811 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.827 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.827 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.828 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.828 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.828 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.829 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.829 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.831 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.831 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.832 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.832 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.832 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.856 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.857 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.857 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.858 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.859 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.860 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.860 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.861 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.861 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.862 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.863 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.863 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.864 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘0’
2012-07-11 01:41:03.864 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.865 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.866 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.867 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘“’
2012-07-11 01:41:03.869 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘ž’
2012-07-11 01:41:03.869 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘h’
2012-07-11 01:41:03.870 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘g’
2012-07-11 01:41:03.871 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘ˇ’
2012-07-11 01:41:03.874 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.875 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.875 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.876 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.876 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘š’
2012-07-11 01:41:03.877 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘h’
2012-07-11 01:41:03.878 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘g’
2012-07-11 01:41:03.879 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘ˇ’
2012-07-11 01:41:03.879 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.880 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.881 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.882 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘∞’
2012-07-11 01:41:03.882 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘°’
2012-07-11 01:41:03.883 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘h’
2012-07-11 01:41:03.884 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘g’
2012-07-11 01:41:03.885 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘ˇ’
2012-07-11 01:41:03.885 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.886 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.887 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘’
2012-07-11 01:41:03.888 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘ı’
2012-07-11 01:41:03.888 iCupom Fiscal[2803:403] someChar[i] (before everything) CHAR == ‘â„’
These chars I did not insert.
What am I missing?
Thanks!