QRcode_List *QRcode_encodeStringStructured(const char *string, int version, QRecLevel level, QRencodeMode hint, int casesensitive) { QRinput *input; QRcode_List *codes; int ret; if(version <= 0) { errno = EINVAL; return NULL; } if(hint != QR_MODE_8 && hint != QR_MODE_KANJI) { errno = EINVAL; return NULL; } input = QRinput_new2(version, level); if(input == NULL) return NULL; ret = Split_splitStringToQRinput(string, input, hint, casesensitive); if(ret < 0) { QRinput_free(input); return NULL; } codes = QRcode_encodeInputToStructured(input); QRinput_free(input); return codes; }
static QRcode_List *QRcode_encodeDataStructuredReal( int size, const unsigned char *data, int version, QRecLevel level, int eightbit, QRencodeMode hint, int casesensitive) { QRinput *input; QRcode_List *codes; int ret; if(version <= 0) { errno = EINVAL; return NULL; } if(!eightbit && (hint != QR_MODE_8 && hint != QR_MODE_KANJI)) { errno = EINVAL; return NULL; } input = QRinput_new2(version, level); if(input == NULL) return NULL; if(eightbit) { ret = QRinput_append(input, QR_MODE_8, size, data); } else { ret = Split_splitStringToQRinput((char *)data, input, hint, casesensitive); } if(ret < 0) { QRinput_free(input); return NULL; } codes = QRcode_encodeInputToStructured(input); QRinput_free(input); return codes; }
QRcode_List *QRcode_encodeString8bitStructured(const char *string, int version, QRecLevel level) { QRinput *input; QRcode_List *codes; int ret; if(version <= 0) { errno = EINVAL; return NULL; } input = QRinput_new2(version, level); if(input == NULL) return NULL; ret = QRinput_append(input, QR_MODE_8, strlen(string), (unsigned char *)string); if(ret < 0) { QRinput_free(input); return NULL; } codes = QRcode_encodeInputToStructured(input); QRinput_free(input); return codes; }