dEn
Guest
Сишные подключаемые функции в Postgre
Я написал простенькую функцию для поднятие в верхний регистр кодировки Win1251 в двух вариантах и ни одна из них не работает, первый вариант ровным счётом ничего не делает, а второй говорит про ошибки работы с памятью, может кто подскажет в чём дело
#include "postgres.h"
char *upwin(char *String) {
int i;
for (i=0;i<strlen(String);i++) {
if ((String >= '340') && (String <= '377'))
String -= 32;
}
return String;
}
char *upwin(char *String) {
int i;
char *ret;
ret = palloc(strlen(String)+1);
memset(ret, 0, Strlen(String)+1);
strcpy(ret, String);
for (i=0;i<strlen(String);i++) {
if ((ret >= '340') && (ret <= '377'))
ret -= 32;
}
return ret;
}
Я написал простенькую функцию для поднятие в верхний регистр кодировки Win1251 в двух вариантах и ни одна из них не работает, первый вариант ровным счётом ничего не делает, а второй говорит про ошибки работы с памятью, может кто подскажет в чём дело
#include "postgres.h"
char *upwin(char *String) {
int i;
for (i=0;i<strlen(String);i++) {
if ((String >= '340') && (String <= '377'))
String -= 32;
}
return String;
}
char *upwin(char *String) {
int i;
char *ret;
ret = palloc(strlen(String)+1);
memset(ret, 0, Strlen(String)+1);
strcpy(ret, String);
for (i=0;i<strlen(String);i++) {
if ((ret >= '340') && (ret <= '377'))
ret -= 32;
}
return ret;
}