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 > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users