Δημοσιεύτηκε: 01 Μαρ 2012, 15:48
Ευχαριστώ πολύ για το ενδιαφέρον παιδιά! Σίμο ευχαριστώ επίσης για το git (μου έχεις "φάει" έναν άσσο στο τέλος του nickname μου
).
Χτες ήμουν πολύ κουρασμένος και την έπεσα νωρίς, για αυτό απαντάω τώρα. Λοιπόν για τα warnings, έχω κάνει... λαλακία στον κώδικα, ξεχνώντας πως σε ANSI mode τα χρώματα του con_color.h είναι ορισμένα ως strings, ενώ σε Windows mode είναι ορισμένα ως int. Σε κάποια σημεία λοιπόν κάνω συγκρίσεις χρωμάτων σαν να είναι int (με == δηλαδή) ενώ σε ANSI mode πρέπει να γίνεται με strcmp().
Τα υπόλοιπα warnings που βγάζει( "null argument where non-null required (argument 1)" ) οφείλεται αφενός πως σε ANSI mode τα FG_NOCHANGE και BG_NOCHANGE είναι ορισμένα ως '\0' αντί για "\0" (αυτό το είχα κάνει για να μπορώ να τα χρησιμοποιώ σαν int σε συγκρίσεις, αλλά τελικά δημιουργούσε πρόβλημα σε άλλα πράματα). Τα διόρθωσα σε "\0" όπως κι έφτιαξα και τα strcmp() στο con_color.h. Όμως ο gcc εξακολουθεί να βγάζει προειδοποιήσεις: embedded ‘\0’ in format, μόνο που αυτή τη φορά είναι άκακες
... απλώς λέει πως το format-string της printf() περιέχει μέσα του μηδενικό χαρακτήρα... (no problem, το ξέρουμε ότι μπορεί να περιέχει
)
Οπότε σας δίνω τα 2 διορθωμένα αρχεία: hexview.c και con_color.h (τα έβαλα στην αρχή του αρχικού ποστ, μέσα σε spoilers).
ΥΓ. Δώστε του να καταλάβει, να ανακαλύψουμε τυχόν αδυναμίες του μέχρι στιγμής, να τις φτιάξω πριν προχωρήσω περισσότερο
Χτες ήμουν πολύ κουρασμένος και την έπεσα νωρίς, για αυτό απαντάω τώρα. Λοιπόν για τα warnings, έχω κάνει... λαλακία στον κώδικα, ξεχνώντας πως σε ANSI mode τα χρώματα του con_color.h είναι ορισμένα ως strings, ενώ σε Windows mode είναι ορισμένα ως int. Σε κάποια σημεία λοιπόν κάνω συγκρίσεις χρωμάτων σαν να είναι int (με == δηλαδή) ενώ σε ANSI mode πρέπει να γίνεται με strcmp().
Τα υπόλοιπα warnings που βγάζει( "null argument where non-null required (argument 1)" ) οφείλεται αφενός πως σε ANSI mode τα FG_NOCHANGE και BG_NOCHANGE είναι ορισμένα ως '\0' αντί για "\0" (αυτό το είχα κάνει για να μπορώ να τα χρησιμοποιώ σαν int σε συγκρίσεις, αλλά τελικά δημιουργούσε πρόβλημα σε άλλα πράματα). Τα διόρθωσα σε "\0" όπως κι έφτιαξα και τα strcmp() στο con_color.h. Όμως ο gcc εξακολουθεί να βγάζει προειδοποιήσεις: embedded ‘\0’ in format, μόνο που αυτή τη φορά είναι άκακες
Οπότε σας δίνω τα 2 διορθωμένα αρχεία: hexview.c και con_color.h (τα έβαλα στην αρχή του αρχικού ποστ, μέσα σε spoilers).
ΥΓ. Δώστε του να καταλάβει, να ανακαλύψουμε τυχόν αδυναμίες του μέχρι στιγμής, να τις φτιάξω πριν προχωρήσω περισσότερο