On Apr 12, 2008, at 12:36 AM, dark0s dark0s wrote:
> Excuse me for my stupid topic, but I am crazying to find error in
> program below.
>
> My output is:
>
> bash-3.1# gcc -shared labsinf.c -o inf.so
> labsinf.c:61: error: expected ';', ',' or ')' before '*' token
>
> The errror is for sqlit3_extension_init row, but I don't see
> strange things
>
> #include <stdio.h>
> #include <stdlib.h>
> #include <string.h>
> #include <sqlite3ext.h>
> SQLITE_EXTENSION_INIT1
>
> void soundex(sqlite3_context* ctx, int nargs, sqlite3_value**
> values) {
>
> int i,j;
> char c,r;
> int d;
> int count;
> char* str2;
> char* result;
> int dim;
> const char* str;
> char ret[4];
>
> str = sqlite3_value_text(values[0]);
> dim = strlen(str);
> for (i=0;i<dim;i++) str2[i] = str[i];
> for (i=0;i<=dim;i++) str2[i] = toupper(str2[i]);
> for (i=0;i<=dim;i++)
> switch (str[i]) {
> case 'A': case 'E': case 'I': case 'O':
> case 'U': case 'H': case 'W': case 'Y': str2[i] = '0';
> }
> for (i=1;i<dim;i++)
> switch (str2[i]) {
> case 'B': case 'F':
> case 'P': case 'V': str2[i] = '1'; break;
> case 'C': case 'G':
> case 'J': case 'K':
> case 'Q': case 'S':
> case 'X': case 'Z': str2[i] = '2'; break;
> case 'D': case 'T': str2[i] = '3'; break;
> case 'L': str2[i] = '4'; break;
> case 'M': case 'N': str2[i] = '5'; break;
> case 'R': str2[i] = '6'; break;
> }
>
> count=1;
> for (i=0;i<dim-1;i++)
> if (str2[i] != str2[i+1]) count++;
> result = malloc(count);
> j=0;
> for (i=0;i<dim-1;i++)
> if (str2[i] != str2[i+1]) {
> result[j]=str2[i];
> j++;
> }
> for (i=0;i<4;i++) printf("%c", result[i]);
> for (i=0;i<4;i++) ret[i] = result[i];
>
> printf("\n\n");
> sqlite3_result_text(ctx,ret, 4, SQLITE_TRANSIENT);
>
> }
>
>
> int sqlite3_extension_init(
> sqlite3 *db,
> char **pzErrMsg,
> const sqlite3_api_rountines *pApi) {
That bit is wrong. ^^^
> SQLITE_EXTENSION_INIT2(pApi)
> sqlite3_create_function(db, "soundex", 1, SQLITE_UTF8, NULL,
> soundex, NULL, NULL);
> return 0;
>
> }
>
> ---------------------------------
> Inviato da Yahoo! Mail.
> La casella di posta intelligente.
> _______________________________________________
> sqlite-users mailing list
> [email protected]
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users