Changeset 63
- Timestamp:
- 04/20/08 20:55:37 (9 months ago)
- Location:
- trunk/awkbot/src
- Files:
-
- 3 modified
-
awkbot_db_mysql.awk (modified) (1 diff)
-
awkpaste.awk (modified) (1 diff)
-
mysql.awk (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/awkbot/src/awkbot_db_mysql.awk
r56 r63 127 127 } 128 128 129 function awkbot_db_paste_get (id,row ,rv ) {130 rv = mysql_query("SELECT nick, subject, content FROM paste " \129 function awkbot_db_paste_get (id,row ,rv,result) { 130 rv = mysql_query("SELECT paste_id, nick, subject, content FROM paste " \ 131 131 "WHERE paste_id = " mysql_quote(id)) 132 132 133 mysql_fetch_assoc(rv, row)133 result = mysql_fetch_assoc(rv, row) 134 134 mysql_finish(rv) 135 return result 135 136 } 136 137 -
trunk/awkbot/src/awkpaste.awk
r62 r63 13 13 14 14 if (query["id"]) { 15 awkbot_db_paste_get(query["id"], paste) 15 if (awkbot_db_paste_get(query["id"], paste)) { 16 id = query["id"] 17 nick = paste["nick"] 18 subject = paste["subject"] 19 content = paste["content"] 20 link = sprintf("%s?id=%d", config("paste.cgi"), id) 16 21 17 id = query["id"] 18 nick = paste["nick"] 19 subject = paste["subject"] 20 content = paste["content"] 21 link = sprintf("%s?id=%d", config("paste.cgi"), id) 22 23 gsub(/\r\\n/, "\n", content) 24 gsub(/\\\\/, "\\", content) # Outcoming escapes 22 gsub(/\r\\n/, "\n", content) # CRLF to LF 23 # This should be dealt with in mysql.awk 24 # gsub(/\\t/, "\t", context) # Outcoming tabs. 25 gsub(/\\\\/, "\\", content) # Outcoming escapes 26 } 27 else { 28 print "Location: /404.html" 29 print ORS 30 exit 31 } 25 32 } 26 33 else { -
trunk/awkbot/src/mysql.awk
r59 r63 58 58 59 59 function mysql_fetch_assoc (resource,row ,input,i,fields) { 60 fields = 0 61 60 62 if (getline input < mysql[resource]) { 61 fields = split(input, row, "\t") 63 fields = mysql_split(row, input) 64 62 65 for (i = 1; i <= fields; i++) 63 66 row[mysql[resource, i]] = row[i] … … 67 70 } 68 71 72 function mysql_split (row, input, r,i) { 73 r = split(input, row, "\t") 74 75 for (i = 0; i <= r; i++) { 76 gsub(/\\t/, "\t", row[i]) 77 } 78 79 return r 80 } 81 69 82 function mysql_fetch_row (resource,row ,input,r,i) { 70 83 if (getline input < mysql[resource]) { 71 r = split(input, row, "\t") 72 73 for (i = 0; i <= r; i++) { 74 row[i] = gensub(/\\t/, "\t", "g", row[i]) # Unescape tabs 75 } 76 77 return r 84 return mysql_split(row, input) 78 85 } 79 86