Changeset 63 for trunk

Show
Ignore:
Timestamp:
04/20/08 20:55:37 (9 months ago)
Author:
scott
Message:

Fixes for tabs.

Tab escapes now come out of mysql.awk as normal tabs.

closes #55

Location:
trunk/awkbot/src
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/awkbot/src/awkbot_db_mysql.awk

    r56 r63  
    127127} 
    128128 
    129 function awkbot_db_paste_get (id,row    ,rv) { 
    130     rv = mysql_query("SELECT nick, subject, content FROM paste " \ 
     129function awkbot_db_paste_get (id,row    ,rv,result) { 
     130    rv = mysql_query("SELECT paste_id, nick, subject, content FROM paste " \ 
    131131            "WHERE paste_id = " mysql_quote(id)) 
    132132 
    133     mysql_fetch_assoc(rv, row) 
     133    result = mysql_fetch_assoc(rv, row) 
    134134    mysql_finish(rv) 
     135    return result 
    135136} 
    136137 
  • trunk/awkbot/src/awkpaste.awk

    r62 r63  
    1313 
    1414    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) 
    1621 
    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        } 
    2532    } 
    2633    else { 
  • trunk/awkbot/src/mysql.awk

    r59 r63  
    5858 
    5959function mysql_fetch_assoc (resource,row  ,input,i,fields) { 
     60    fields = 0 
     61 
    6062    if (getline input < mysql[resource]) { 
    61         fields = split(input, row, "\t") 
     63        fields = mysql_split(row, input) 
     64 
    6265        for (i = 1; i <= fields; i++) 
    6366            row[mysql[resource, i]] = row[i] 
     
    6770} 
    6871 
     72function 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 
    6982function mysql_fetch_row (resource,row  ,input,r,i) { 
    7083    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) 
    7885    } 
    7986