[Mt-daapd-cvs] SF.net SVN: mt-daapd: [1281] trunk/src
Status: Beta
Brought to you by:
andrew40
From: <rp...@us...> - 2006-06-30 05:33:40
|
Revision: 1281 Author: rpedde Date: 2006-06-29 22:33:35 -0700 (Thu, 29 Jun 2006) ViewCVS: http://svn.sourceforge.net/mt-daapd/?rev=1281&view=rev Log Message: ----------- Fix error messages in smart playlists, and verify updated clauses on edit Modified Paths: -------------- trunk/src/db-sql.c trunk/src/smart-parser.c Modified: trunk/src/db-sql.c =================================================================== --- trunk/src/db-sql.c 2006-06-30 05:20:16 UTC (rev 1280) +++ trunk/src/db-sql.c 2006-06-30 05:33:35 UTC (rev 1281) @@ -537,6 +537,8 @@ int result; int playlist_type; int dup_id=id; + char *criteria; + char *estring; if((name == NULL) && (clause == NULL)) return DB_E_SUCCESS; /* I guess?? */ @@ -559,6 +561,16 @@ return result; } + + if((playlist_type == PL_SMART) && (clause)) { + if(!db_sql_parse_smart(&estring,&criteria,clause)) { + db_get_error(pe,DB_E_PARSE,estring); + free(estring); + return DB_E_PARSE; + } + free(criteria); + } + /* TODO: check for duplicate names here */ if(name) { result = db_sql_fetch_int(pe,&dup_id,"select id from playlists " Modified: trunk/src/smart-parser.c =================================================================== --- trunk/src/smart-parser.c 2006-06-30 05:20:16 UTC (rev 1280) +++ trunk/src/smart-parser.c 2006-06-30 05:33:35 UTC (rev 1281) @@ -749,7 +749,9 @@ expr = sp_parse_oexpr(tree); if((!expr) || (tree->token.token_id != T_EOF)) { - sp_set_error(tree,SP_E_EOS); + if(!tree->error) { + sp_set_error(tree,SP_E_EOS); + } sp_free_node(expr); expr = NULL; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |