История изменений
Исправление jpegqs, (текущая версия) :
Короче:
const char *fmt;
int mode = phonebookEntry->telNo ? 2 : 0;
int index = phonebookEntry->index >= 0 ? mode |= 1, phonebookEntry->index : ',';
static const char * const table[] = {
NULL, // ничего
"AT+CPBW=%i\r", // только индекс
"AT+CPBW=%c\"%s\"\r", // только телефон
"AT+CPBW=%i,\"%s\"\r", // индекс и телефон
NULL, // только имя
NULL, // индекс и имя
"AT+CPBW=%c\"%s\",%i,\"%s\"\r", // телефон и имя
"AT+CPBW=%i,\"%s\",%i,\"%s\"\r", // индекс, телефон и имя
};
if( !(fmt = table[mode]) ) return -1;
if( phonebookEntry->name ) {
type = phonebookEntry->telNo[0] == '+' ? 145 : 129;
res = packUtf82Ucs2( phonebookEntry->name, gsmService->codecBuffer, CODEC_BUFFER_SIZE );
if( res < 0 ) return -1;
mode |= 4;
}
res = snprintf(
gsmService->atCmdBuffer, AT_CMD_BUFFER_SIZE,
fmt, index, phonebookEntry->telNo,
type, gsmService->codecBuffer);
if( res < 0 ) return -1;
Исправление jpegqs, :
Короче:
const char *fmt;
int mode = phonebookEntry->telNo ? 2 : 0;
int index = phonebookEntry->index >= 0 ? mode |= 1, phonebookEntry->index : ',';
static const char * const table[] = {
NULL, // ничего
"AT+CPBW=%i\r", // только индекс
"AT+CPBW=%c\"%s\"\r", // только телефон
"AT+CPBW=%i,\"%s\"\r", // индекс и телефон
NULL, // только имя
NULL, // индекс и имя
"AT+CPBW=%c\"%s\",%i,\"%s\"\r", // телефон и имя
"AT+CPBW=%i,\"%s\",%i,\"%s\"\r", // индекс, телефон и имя
};
if( !(fmt = table[mode]) ) return -1;
if( phonebookEntry->name ) {
type = phonebookEntry->telNo[0] == '+' ? 145 : 129;
res = packUtf82Ucs2( phonebookEntry->name, gsmService->codecBuffer, CODEC_BUFFER_SIZE );
if( res < 0 ) return -1;
mode |= 4;
}
res = snprintf(
gsmService->atCmdBuffer, AT_CMD_BUFFER_SIZE,
fmt, index, phonebookEntry->telNo,
type, gsmService->codecBuffer);
if( res < 0 ) return -1;
```c
Исправление jpegqs, :
const char *fmt;
int mode = phonebookEntry->telNo ? 2 : 0;
int index = phonebookEntry->index >= 0 ? mode |= 1, phonebookEntry->index : ',';
static const char * const table[] = {
NULL, // ничего
"AT+CPBW=%i\r", // только индекс
"AT+CPBW=%c\"%s\"\r", // только телефон
"AT+CPBW=%i,\"%s\"\r", // индекс и телефон
NULL, // только имя
NULL, // индекс и имя
"AT+CPBW=%c\"%s\",%i,\"%s\"\r", // телефон и имя
"AT+CPBW=%i,\"%s\",%i,\"%s\"\r", // индекс, телефон и имя
};
if( !(fmt = table[mode]) ) return -1;
if( phonebookEntry->name ) {
type = phonebookEntry->telNo[0] == '+' ? 145 : 129;
res = packUtf82Ucs2( phonebookEntry->name, gsmService->codecBuffer, CODEC_BUFFER_SIZE );
if( res < 0 ) return -1;
mode |= 4;
}
res = snprintf(
gsmService->atCmdBuffer, AT_CMD_BUFFER_SIZE,
fmt, index, phonebookEntry->telNo,
type, gsmService->codecBuffer);
if( res < 0 ) return -1;
Исправление jpegqs, :
Короче:
const char *fmt;
int mode = phonebookEntry->telNo ? 2 : 0;
int index = phonebookEntry->index >= 0 ? mode |= 1, phonebookEntry->index : ',';
static const char * const table[] = {
NULL, // ничего
"AT+CPBW=%i\r", // только индекс
"AT+CPBW=%c\"%s\"\r", // только телефон
"AT+CPBW=%i,\"%s\"\r", // индекс и телефон
NULL, // только имя
NULL, // индекс и имя
"AT+CPBW=%c\"%s\",%i,\"%s\"\r", // телефон и имя
"AT+CPBW=%i,\"%s\",%i,\"%s\"\r", // индекс, телефон и имя
};
if( phonebookEntry->name ) {
type = phonebookEntry->telNo[0] == '+' ? 145 : 129;
res = packUtf82Ucs2( phonebookEntry->name, gsmService->codecBuffer, CODEC_BUFFER_SIZE );
if( res < 0 ) return -1;
mode |= 4;
}
res = snprintf( gsmService->atCmdBuffer, AT_CMD_BUFFER_SIZE,
fmt, index, phonebookEntry->telNo,
type, gsmService->codecBuffer );
if( res < 0 ) return -1;
Исходная версия jpegqs, :
Короче:
const char *fmt;
int mode = phonebookEntry->telNo ? 2 : 0;
int index = phonebookEntry->index >= 0 ? mode |= 1, phonebookEntry->index : ',';
static const char * const table[] = {
NULL, // ничего
"AT+CPBW=%i\r", // только индекс
"AT+CPBW=%c\"%s\"\r", // только телефон
"AT+CPBW=%i,\"%s\"\r", // индекс и телефон
NULL, // только имя
NULL, // индекс и имя
"AT+CPBW=%c\"%s\",%i,\"%s\"\r", // телефон и имя
"AT+CPBW=%i,\"%s\",%i,\"%s\"\r", // индекс, телефон и имя
};
if( phonebookEntry->name ) {
type = phonebookEntry->telNo[0] == '+' ? 145 : 129;
res = packUtf82Ucs2( phonebookEntry->name, gsmService->codecBuffer, CODEC_BUFFER_SIZE );
if( res < 0 ) return -1;
mode |= 4;
}
if( !(fmt = table[mode]) ) return -1;
res = snprintf( gsmService->atCmdBuffer, AT_CMD_BUFFER_SIZE,
fmt, index, phonebookEntry->telNo,
type, gsmService->codecBuffer );
if( res < 0 ) return -1;